Haskell 98 semigroups