cabal init & tedious data type defns