úÎ gfoldMap ( ::  Binary) put t        BSD-style (see the file LICENSE)sjoerd@w3future.com experimental non-portableNone*:DORT QCreate a value (one for each constructor), given how to construct the components. 0 = 1 2  ( ::  3) [0] 4 = 5 2  ( ::  3) [4] nCreate a value (one for each constructor), given how to construct the components, under an applicative effect.Here's how to implement get from the binary package: get = getWord8 6 \ix ->  ( ::  Binary) [get] 7 8 ix (Generate ways to consume values of type t'. This is the contravariant version of ..Map over a structure, updating each component.GMap each component of a structure to a monoid, and combine the results.If you have a class SizeX, which measures the size of a structure, then this could be the default implementation: size = 9 : getSum :  ( ::  Size) (Sum : size) sMap each component of a structure to an action, evaluate these actions from left to right, and collect the results.!cCombine two values by combining each component of the structures with the given function. Returns ;! if the constructors don't match."pCombine two values by combining each component of the structures to a monoid, and combine the results. Returns <! if the constructors don't match. = s t = = ( s) ( t) <> " ( ::  >) = s t #€Combine two values by combining each component of the structures with the given function, under an applicative effect. Returns ;! if the constructors don't match.$HImplement a nullary operator by calling the operator for each component. < = $ ( ::  ?) < @ i = $ ( ::  A) (@ i) %wImplement a unary operator by calling the operator on the components. This is here for consistency, it is the same as . B = % ( ::  A) B &FImplement a binary operator by calling the operator on the components. C = & ( ::  ?) C (D) = & ( ::  A) (D) EFGHIJKLM !"#$%&'()*+,  !"#$%& !"#$%& EFGHIJKLM !"#$%&'()*+,N      !"#$%&'()*+,-./01/23/45/46/78/9:/4;/4</7=/9>/7?/4@/4A/9B/9C/9DEFGEFH/9I/JK/JL/JM/9N/JOPPQRRSTTUV$one-liner-0.6-IlhI5gk5vi0H2oYMKuPayiGenerics.OneLiner.InternalGenerics.OneLinerFor ADTNonEmpty ADTRecord CtorCountADT ConstraintsGenericProfunctorzerounitplusmultADT' CtorCount' ctorIndex' ctorCountp Constraints'generic ctorIndex$fGenericProfunctorStar$fADT'M1$fADT'K1 $fADT':*:$fADT'U1 $fADT':+:$fADT'V1createcreateAconsumegmapgfoldMap gtraversegzipWithmzipWithzipWithAop0op1op2$fGenericProfunctorConsume$fProfunctorConsume$fGenericProfunctorCreate$fProfunctorCreate$fGenericProfunctorZip$fProfunctorZipbase GHC.TypeLits<= GHC.GenericsGenericGHC.EnumtoEnumminBoundGHC.ListheadGHC.Base$BoundedmaxBoundlast>>=!!fromEnumsucc.Nothingmemptyghc-prim GHC.ClassescompareOrdMonoidGHC.Num fromIntegerNumnegatemappend+Consume unConsumeCreateunCreateZiprunZip