úÎn6      !"#$%&'()*+,-./012345portable provisionalEdward Kmett <ekmett@gmail.com> Safe-Inferred 67   67portable provisionalEdward Kmett <ekmett@gmail.com>NoneGUsable default for foldMap, but only if you define bifoldMap1 yourself 89:;<=>? 89:;<=>?portable provisionalEdward Kmett <ekmett@gmail.com> Safe-InferredMinimal definition either  or  and  @ABCDE@ABCDEportable provisionalEdward Kmett <ekmett@gmail.com> Safe-Inferred!a .> b = const id  $ a  . b "a  . b = const <$ a  . b %Lift binary functions &Lift ternary functions  !"#$%&F  !"#$%& !"#$%& !"#$%&Fportable provisionalEdward Kmett <ekmett@gmail.com> Safe-InferredGHIJKLMNO'()*+,-./01PQRSTUVW '()*+,-./01 '()*+,-./01GHIJKLMNO'()*+,-./01PQRSTUVWportable provisionalEdward Kmett <ekmett@gmail.com>None2345XY234523452345XYZ      !"#$%&'()*+,-./0123456789:;<=>??@ABCDEFGHIJKLMMNOOPQQRSTUVWXYZ[\]bifunctors-3.0.2Data.BifoldableData.Semigroup.BifoldableData.BifunctorData.Bifunctor.ApplyData.BitraversableData.Semigroup.Bitraversable Bifoldablebifold bifoldMapbifoldrbifoldlbifoldr'bifoldrMbifoldl'bifoldlM bitraverse_bifor_bimapM_biforM_ bisequenceA_ bisequence_biListbiconcat biconcatMapbianybiall Bifoldable1bifold1 bifoldMap1 bitraverse1_bifor1_ bisequenceA1_bifoldMapDefault1 BifunctorbimapfirstsecondBiapply<<.>>.>><<.<<$>><<..>>bilift2bilift3 Bitraversable bitraverse bisequenceAbimapM bisequencebiforbiforM bimapAccumL bimapAccumR bimapDefaultbifoldMapDefaultBitraversable1 bitraverse1 bisequence1bifoldMap1Default$fBifoldableEither$fBifoldable(,)ActgetActignore $fFunctorAct$fSemigroupAct$fBifoldable1(,)$fBifoldable1Either$fBifunctorConst$fBifunctorEither$fBifunctor(,,,,)$fBifunctor(,,,)$fBifunctor(,,)$fBifunctor(,) $fBiapply(,)IdgetIdStateR runStateRStateL runStateL$fApplicativeId $fFunctorId$fApplicativeStateR$fFunctorStateR$fApplicativeStateL$fFunctorStateL$fBitraversableEither$fBitraversable(,)$fBitraversable1(,)$fBitraversable1Either