improved haskell support