learn you a haskell input