I believe the original poster was asking about a *static* check.
On 3/03/2014, at 4:59 PM, John Lato wrote:
> Yes. In Haskell, types are your friends. You should define new types liberally.
Newtypes with "smart constructors" are a good way to plug in
a *dynamic* check, which is valuable but different.