úÎ R      portable provisionalEdward Kmett <ekmett@gmail.com>?Transform a FunctorApply into an Applicative by adding a unit. Wrap an   to be used as a member of    'A strong lax semi-monoidal endofunctor a .> b = const id  $ a  . b a  . b = const <$ a  . b TODO: move into Data.Functor  A variant of   with the arguments reversed. 3Lift a binary function into a comonad with zipping 4Lift a ternary function into a comonad with zipping !7An IntMap is not Applicative, but it is an instance of   " A Map is not  , but it is an instance of         portable provisionalEdward Kmett <ekmett@gmail.com> #$%EUsable default for foldMap, but only if you define foldMap1 yourself portable provisionalEdward Kmett <ekmett@gmail.com>portable provisionalEdward Kmett <ekmett@gmail.com>FA strong lax symmetric semi-monoidal comonad. As such an instance of  is required to satisfy:  + extract (a <.> b) = extract a (extract b) 'This class is based on ComonadZip from "#The Essence of Dataflow Programming" Mby Tarmo Uustalu and Varmo Vene, but adapted to fit the programming style of Control.Applicative.  . can be seen as a similar law over and above FunctorApply that:  pure (a b) = pure a <.> pure b 3Lift a binary function into a comonad with zipping 4Lift a ternary function into a comonad with zipping &A sad little orphan '>Both required because Semigroup is not a superclass of Monoid "()*+,-./01234 5       !"#$%&'()**+,-./0./1./2./3./4./5./6./7./8./9./:./;./;<functor-apply-0.7.3Data.Functor.ApplyData.Semigroup.FoldableData.Semigroup.TraversableControl.Comonad.ApplybaseGHC.BaseFunctor Data.Functor<$><$fmap MaybeApply runMaybeApplyWrappedApplicativeunwrapApplicative FunctorApply<.>.><.$><..>liftF2liftF3 Foldable1fold1foldMap1 traverse1_for1_ sequenceA1_foldMapDefault1 Traversable1 traverse1 sequence1foldMap1Default ComonadApplyliftW2liftW3Control.Applicative Applicative$fFunctorApplyIntMap$fFunctorApplyMapActgetAct$fArrowLoopCokleisli$fComonadApply(,) comonad-0.6.0Control.Comonadwfix=>==<=<<==>>liftWextend duplicateextractComonad runCokleisli Cokleisli