update cabal : require parsec3 & build Types
ignore more things
Dervive traverse, functor etc instead of using boilerplate