add some more haskell type annotations