Haskell's compiler would pick up all these stupidly simple errors...