Maybe a is a Monoid: using First a type (from Data.Monoid)
Maybe a is a Monoid: using Last a type (from Data.Monoid)