haskell construction