Haskell Book Excersices from the book Relevant resources nice solutions one more 15 Monoid & Semigroup newtype wraper is used to distinguish among multiple monoids Examples: Sum Product for Num, All Any for Bool, First Last for Maybe 16 Functor Prelude> :set -XTypeApplications Prelude> :type fmap @Maybe