/dev-haskell/semigroups/