ADT fields should be strict in the general case. This usually reduces memory usage without impacting CPU usage. There are exceptions.
The standard indentation level is 4; indentation should always be done with spaces.
The following ADT definitions are acceptable.
data Foo
= Bar Int Int Int
| Baz String String String
| Qux Int String
data Post =
{ headline :: Text
, title :: Text
, body :: Text
}
data Maybe a = Just a | Nothing