Îõ³h&¯O     Safe~assoc"Semigroup-y" s.  .  =   .  =   .  ( f g) h =  f ( g h) .  This library doesn't provide Monoidal class, with left and right unitors. Are they useful in practice?SafeÌÚGassoc Symmetric s.  .  =  If p is a + the following property is assumed to hold:  .  f g =  g f .   isn't a subclass of , as for example6newtype Bipredicate a b = Bipredicate (a -> b -> Bool) is not a  but has  instanceËinstance Swap Bipredicate where swap (Bipredicate p) = Bipredicate (flip p)      assoc-1.1-LbuTS8XyAev8OqXRWxf8TMData.Bifunctor.AssocData.Bifunctor.SwapAssocassocunassoc $fAssocTagged $fAssocConst $fAssocEither $fAssoc(,)Swapswap$fSwap(,,,,,,) $fSwap(,,,,,) $fSwap(,,,,) $fSwap(,,,) $fSwap(,,) $fSwapEither $fSwap(,)baseData.Bifunctor BifunctorGHC.Baseidbimap