haskell 40