? *. Minimal implementation:  and either   if the type t is not recursive, or  if the type t is recursive. The constraints needed to run  and . > It should be a list of all the types of the subcomponents of t, each applied to c. NGives the index of the constructor of the given value in the list returned by  and . YTell the compiler which class we want to use in the traversal. Should be used like this:   (For :: For Show) Where Show can be any class.  specialized to the ; applicative functor. ! specialized to the <3 applicative functor, which collects monoid values m. ",Get the value from the result of one of the builds+ functions that matches the constructor of t. Witness for the constraint c. Witness for the constraint c.  !"#$%&=>'  !"#$%&%&"#$ !  !"#$%&=> non-portable experimentalsjoerd@w3future.comNone ',Type class for algebraic data types of kind *. Minimal implementation: ) and either *  if the type t is not recursive, or + if the type t is recursive. (The constraints needed to run * and +. > It should be a list of all the types of the subcomponents of t, each applied to c. )NGives the index of the constructor of the given value in the list returned by * and +. ,YTell the compiler which class we want to use in the traversal. Should be used like this:   (For :: For Show) Where Show can be any class. .* specialized to the ; applicative functor. /* specialized to the <3 applicative functor, which collects monoid values m. 05Transform a value by transforming each subcomponent. 1TFold a value, by mapping each subcomponent to a monoid value and collecting those. 2AApplicative traversal given a way to traverse each subcomponent. 3HGet the subcomponent by using the projector from the field information. 4,Get the value from the result of one of the builds+ functions that matches the constructor of t. '()*Witness for the constraint c. $This function should return a value  for each subcomponent of t$, wrapped in an applicative functor f. It is given [ information about the field, which contains a projector function to get the subcomponent  from a value of type t7. The type of the subcomponent is an instance of class c. 2A list of pairs, one for each constructor of type t . Each pair Y consists of information about the constructor and the result of applicatively applying Y the constructor to the results of the given function for each field of the constructor. +Witness for the constraint c. $This function should return a value  for each subcomponent of t$, wrapped in an applicative functor f. It is given [ information about the field, which contains a projector function to get the subcomponent  from a value of type t7. The type of the subcomponent is an instance of class c. $This function should return a value  for each subcomponent of t that is itself of type t. 2A list of pairs, one for each constructor of type t . Each pair Y consists of information about the constructor and the result of applicatively applying Z the constructor to the results of the given functions for each field of the constructor. ,-./01234?@ABC! '()*+,-./01234')(*+,-34./012')(*+,-./01234?@ABC non-portable experimentalsjoerd@w3future.comNone56789:56789:56789:56789:D      !"#$%&'()*#$+,-(%./01234564789:;<=>?@ one-liner-0Generics.OneLiner.ADT1Generics.OneLiner.InfoGenerics.OneLiner.ADTGenerics.OneLiner.Functionsghc-primGHC.Prim Constraint FieldInfo SelectorInfo selectorNameproject AssociativityNotAssociativeRightAssociativeLeftAssociativeFixityInfixPrefixCtorInfoctorNameisRecordfixityctorADT1 Constraints ctorIndexbuildsA buildsRecAForExtract getExtract:~>NatgetNatbuildsmbuildsatparam component!!~ADTgmapgfoldMap gtraverseeqADT compareADT minBoundADT maxBoundADT showsPrecADT readPrecADTtransformers-0.3.0.0Data.Functor.IdentityIdentityData.Functor.ConstantConstant$fADT1[] $fADT1Maybe$fADT[] $fADTMaybe $fADTEither $fADTBool$fADT()