provide some Haskell compatibility