Own Haskell implemented.