úÎ :%      !"#$          <Used to map a more traditional bifunctor into a semifunctor RSemifunctors map objects to objects, and arrows to arrows preserving connectivity S as normal functors, but do not purport to preserve identity arrows. We apply them $ to semigroupoids, because those don''t even claim to offer identity arrows! %&'(#)*+,-./012345    !"#$ !"#$ !"#$ !"#$6      !"#$%&'()*+,-.,-/,-0,-1,-234534634734834934:34;34;<semigroupoid-extras-0.2Data.Semigroupoid.CoproductData.Semigroupoid.ProductData.Semigroupoid.ObData.SemifunctorData.Semifunctor.Associative CoproductRLdistributeDualCoproductfactorDualCoproductProductPairdistributeDualProductfactorDualProductObsemiidBiWrappedTraversable1WrapTraversable1unwrapTraversable1WrappedFunctor WrapFunctor unwrapFunctor Semifunctorsemimap# semibimap semifirst semisecondfirstsecondDisassociative disassociate Associative associatekleisliAssociatecokleisliAssociatekleisliDisassociatecokleisliDisassociatefstPsndPleftrightbaseControl.Category>>><<<.idCategorysemigroupoids-1.1.0Data.Semigroupoido SemigroupoidunwrapCategory WrapCategoryWrappedCategorygetSemiSemi