@Matthew – I know a little Haskell (self-taught amateur) so I'll take a look at `Data.Monoid` – thanks for the pointer!