cabal: added mtl to cabal manifest
main: idea for type system basis