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