úÎ! †      Safeƒassoc"Semigroup-y" s.  .  =   .  =   .  ( f g) h =  f ( g h) .  This library doesn't provide MonoidalB class, with left and right unitors. Are they useful in practice?SafeHV assoc 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  instanceKinstance Swap Bipredicate where swap (Bipredicate p) = Bipredicate (flip p)       "assoc-1.0.2-FNcA0hTGGmSBtYqpyH1Q7JData.Bifunctor.AssocData.Bifunctor.SwapAssocassocunassoc $fAssocFlip $fAssocTagged $fAssocConst $fAssocEither $fAssoc(,)Swapswap$fSwap(,,,,,,) $fSwap(,,,,,) $fSwap(,,,,) $fSwap(,,,) $fSwap(,,) $fSwapBiff $fSwapTannen $fSwapSum $fSwapProduct $fSwapFlip $fSwapEither $fSwap(,)baseData.Bifunctor BifunctorGHC.Baseidbimap