jesus Haskell is hard