úÎ ì     ((C) 2014-2015 Edward Kmett, Eric Mertens BSD-style (see the file LICENSE)Edward Kmett <ekmett@gmail.com> provisionalportableSafe<ST´Generically generate a   (') operation for any type implementing . This operation will append two values by point-wise appending their component fields. It is only defined for product types.  a ( b c) =  ( a b) c Generically generate a  ) for any product-like type implementing .%It is only defined for product types.   a = a =  a       (semigroups-0.18.4-G2llcoOOOTeGarcURWZJ86Data.Semigroup.GenericGMonoid GSemigroupgmappendgmempty$fGSemigroup:*:$fGSemigroupM1$fGSemigroupK1$fGSemigroupV1$fGSemigroupU1 $fGMonoid:*: $fGMonoidM1 $fGMonoidK1 $fGMonoidU1baseData.Semigroup Semigroup<> GHC.GenericsGenericGHC.BaseMonoidmemptygmempty' gmappend'