No, you didn't quite see my point. In Haskell, types aren't only about correctness--they're also about expressiveness. They help you program beyond correctness--they even help if you're just hacking around. Moreover, they're sufficiently central to practical code (even, at the risk of repeating myself too much, hacky code) that it wouldn't really make sense to write untyped Haskell and try to stick types on afterwards.
Basically, in Haskell, the types go well beyond correctness. I hope this clarifies what I mean.
Basically, in Haskell, the types go well beyond correctness. I hope this clarifies what I mean.