data Foo = Bar { foo :: Baz , bars :: Bizzz } deriving (Show, Eq, Monad, Functor, Traversable, Foldable)