removing type class
adding pre/post conditions and contracts
adding pre/post conditions and contracts
adding pre/post conditions
cleanup cabal file