¿Qué significa el símbolo `!` en las declaraciones de tipo en Haskell?
En mis estudios de Haskell, veo que se usa el símbolo ! en las declaraciones de tipo. Observa un ejemplo: haskell data Foo = MkFoo { _bar :: !Bar , … } Mi pregunta es: ¿por qué se usa y cuál es la diferencia con una declaración sin ella?