haskell stuff, submodules