Add types, minor cleanup
Make project cabal package