That while this looks like a good extension to CoffeeScript, it's unfortunate that Haskell's type syntax was appropriated when the relationship between contracts and types is tenuous at best.
There are good uses for static type checkers and design by contract, but neither one is a good substitute for the other.