úÎ!3×1É      None =>?@AUVXfkq0ç generic-functorInternal implementation of .generic-functornewtype for  DerivingVia of   instances.Note: the GHC extension  DeriveFunctorb already works out-of-the-box in most cases. There are exceptions, such as the following example: 4{-# LANGUAGE DeriveGeneric, DerivingVia #-} import  GHC.Generics (! ) import Generic.Functor (4(..)) data Twice a = Twice (Either a a) deriving ! deriving   via ( Twice) generic-functorConstraint for  .generic-functorConstraint for  .generic-functorInternal component of  .DThis is an example of the "quantified constraints trick" to encode -forall a b. GMap1 a b (Rep (f a)) (Rep (f b))$ which doesn't actually work as-is. generic-functorConstraint for  . generic-functorGeneric implementation of " . See also  for deriving-via, using   under the hood.Example '{-# LANGUAGE DeriveGeneric #-} import  GHC.Generics (! ) import Generic.Functor ( 0) data Twice a = Twice (Either a a) deriving ! instance   Twice where " =   Unlike  ,   is safe to use in all contexts. generic-functorGeneralized generic functor.  is a generalization of   (generic "M), where the type parameter to be "mapped" does not have to be the last one.  is unsafeM: misuse will break your programs. Read the Usage section below for details.Example '{-# LANGUAGE DeriveGeneric #-} import  GHC.Generics (! ) import Generic.Functor ( K) data Result a r = Error a | Ok r -- Another name for Either deriving !> mapError :: (a -> b) -> Result a r -> Result b r mapError =  8 mapOk :: (r -> s) -> Result a r -> Result a s mapOk =  < mapBoth :: (a -> b) -> Result a a -> Result b b mapBoth =   Usage  gsolomapusage(This also applies to  .)  should only be used to define  polymorphic "fmap3-like functions". It works only in contexts where a and b} are two distinct, non-unifiable type variables. This is usually the case when they are bound by universal quantification (forall a b. ...#), with no equality constraints on a and b.The one guarantee of   is that   # = #k. Under the above conditions, that law and the types should uniquely determine the implementation, which   seeks automatically.UThe unsafety is due to the use of incoherent instances as part of the definition of ). Functions are safe to specialize after  (and #) constraints have been discharged. generic-functorGeneralized implicit functor.Use this when x and y) are applications of existing functors ( , $)."This is a different use case from   and  /, which make functors out of freshly declared data types.  is unsafe,: misuse will break your programs. See the  #gsolomapusageUsage section of   for details.Example Nmap1 :: (a -> b) -> Either e (Maybe [IO a]) -> Either e (Maybe [IO b]) map1 =  v -- equivalent to: fmap . fmap . fmap . fmap map2 :: (a -> b) -> (e -> Either [a] r) -> (e -> Either [b] r) map2 =  4 -- equivalent to: \f -> fmap (bimap (fmap f) id)  None1…   %      !"#$"%&"#'"#(")*+.generic-functor-0.0.1.1-Ay3aPloQ8OE8ZemNL8WVZsGeneric.Functor.InternalGeneric.FunctorSolomap_solomap_GMap1gmap1 DeriveFunctorSolomapGSolomap GFunctorRepGFunctorgfmapgsolomapsolomap $fGMap1abV1V1 $fGMap1abU1U1$fGMap1ab:*::*:$fGMap1ab:+::+: $fGMap1abM1M1$fGSolomapabxy$fGFunctorRepabf$fFunctorDeriveFunctor $fGFunctorf$fSolomap_abff$fSolomap_abff0$fSolomap_abff1$fSolomap_ab->->$fSolomap_abff2$fSolomap_abff3$fSolomap_abxx$fSolomap_abab $fGMap1abK1K1 $fSolomapabxybaseGHC.BaseFunctor GHC.GenericsGenericfmapidData.Bifunctor Bifunctor