>04:      !"#$%&'()*+,-./0123456789 (c) 2010, Universiteit Utrecht BSD3 generics@haskell.org  experimental  non-portable  Safe-Inferred !"'(*24<=JK8Datatype to represent the associativy of a constructor. tDatatype to represent the fixity of a constructor. An infix declaration directly corresponds to an application of  . \Class for datatypes that represent data constructors. For non-symbolic constructors, only  has to be defined. "  !"  !"!       !(c) 2010, Universiteit Utrecht BSD3 generics@haskell.org  experimental  non-portable  Safe-Inferred!"<=JK:;<=>?@ABCDEFGHIJKLMNOP:;<=>?@ABCDEFGHIJKLMNOP(c) 2011 Universiteit UtrechtBSD3generics@haskell.org experimental non-portableNone QConstructor argsR VariablesSType equalities"Given the names of a generic class, a type to instantiate, a function in the class and the default implementation, generates the code for a basic generic instance.#2Given the names of a generic class, a GADT type to instantiate, a function in the class and the default implementation, generates the code for a basic generic instance. This is tricky in general because we have to analyze the return types of each of the GADT constructors and give instances accordingly.$NGiven the type and the name (as string) for the type to derive, generate the  instances and the  instance.%Same as $, but taking a list as input.&@Given a datatype name, derive datatypes and instances of class .'dGiven the type and the name (as string) for the Representable type synonym to derive, generate the  instance.(Derive only the  type synonym. Not needed if ' is used.TAVariant of foldr1 which returns a special element for empty listsU.Variant of foldr1 for producing balanced lists3VWQRS"#$%&'(XY)Z*[\+]^_`abcdefghijklmnopqrstuvTUwxy "#$%&'()*+ $%&'("#+)*/VWQRS"#$%&'(XY)Z*[\+]^_`abcdefghijklmnopqrstuvTUwxy(c) 2010, Universiteit Utrecht BSD3 generics@haskell.org  experimental  non-portable None !"'234=JKM,We use ,t to check for recursion in the structure. This is used to avoid selecting a recursive branch in the sum case for .. ,-./0z{|}~,-./0./0,-,-./0z{|}~(c) 2010, Universiteit Utrecht BSD3 generics@haskell.org  experimental  non-portable None!"&'234=JKM123123123123(c) 2011, Universiteit Utrecht BSD3 generics@haskell.org  experimental  non-portable None !"'234=JK456456456456(c) 2011, Universiteit Utrecht BSD3 generics@haskell.org  experimental  non-portable None !"'3=JK789789789789(c) 2010, Universiteit Utrecht BSD3 generics@haskell.org  experimental  non-portable None,-./0123456789 (c) 2010, Universiteit Utrecht BSD3 generics@haskell.org  experimental  non-portable  Safe-Inferred"  !      !!"#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`abcdefghijklmnopqrstuvwxyz{|}~instant-generics-0.5Generics.Instant.BaseGenerics.Instant.TH Generics.Instant.Functions.EmptyGenerics.Instant.Functions.EnumGenerics.Instant.Functions.ShowGenerics.Instant.Functions.EqGenerics.Instant.InstancesGenerics.Instant.FunctionsGenerics.InstantNatSuZeX RepresentableReptofrom AssociativityNotAssociativeRightAssociativeLeftAssociativeFixityInfixPrefix ConstructorconName conFixity conIsRecordCCEqRecVar:*::+:RLUZ simplInstance gadtInstance deriveAll deriveAllLderiveConstructorsderiveRepresentable deriveRep typeVariablestyVarBndrToName genRepNameHasRechasRec'Emptyempty'emptyGEnumgenum'genumGShowgshow gshowDefaultGEqgeq geqDefault Tuple_Pair_ Maybe_Just_Maybe_Nothing_ List_Cons_ List_Nil_$fConstructor*Tuple_Pair_$fRepresentable(,)$fConstructor*Maybe_Just_$fConstructor*Maybe_Nothing_$fRepresentableMaybe$fConstructor*List_Cons_$fConstructor*List_Nil_$fRepresentable[]$fRepresentableRec$fRepresentableVar$fRepresentableCEq$fRepresentable:+:$fRepresentable:*:$fRepresentableU$fRepresentableFloat$fRepresentableBool$fRepresentableChar$fRepresentableIntargsvarsteqsfoldr1'foldBal TypeArgsEqs deriveInstconstrInstancetyVarBndrsToNamesstripRecordNamesgenName mkConstrDatamkConstrInstancemkConstrInstanceWithrepTypeextractIndices repConGADT getConName int2TLNatgenExTyFamInstsgenExTyFamInsts' mobilityRules flattenEqsbaseEqsrepConrepField repField'mkFrommkTofromCon fromFieldtoContoFieldfieldlrPlrEtrdfoldBal'$fLiftAssociativity $fLiftFixity $fHasRecChar$fHasRecDouble $fHasRecFloat$fHasRecInteger $fHasRecInt $fHasRecRec $fHasRecCEq $fHasRec:+: $fHasRec:*: $fHasRecVar $fHasRecU $fEmpty(,) $fEmpty[] $fEmptyMaybe $fEmptyBool $fEmptyChar $fEmptyDouble $fEmptyFloat$fEmptyInteger $fEmptyInt $fEmptyRec $fEmptyVar $fEmptyCEq $fEmpty:*: $fEmpty:+:$fEmptyU|||diagskewcombine $fGEnumInt $fGEnum:*: $fGEnum:+: $fGEnumCEq $fGEnumCEq0 $fGEnumVar $fGEnumRec$fGEnumUGShow'gshow'spaceparenwrap $fGShowMaybe $fGShow(,) $fGShow[] $fGShow[]0 $fGShowBool $fGShowChar $fGShowDouble $fGShowFloat$fGShowInteger $fGShowInt $fGShow'Rec $fGShow'Var $fGShow'CEq $fGShow':*: $fGShow':+: $fGShow'UGEq'geq'$fGEq(,)$fGEq[] $fGEqMaybe $fGEqBool $fGEqChar $fGEqDouble $fGEqFloat $fGEqInteger$fGEqInt $fGEq'Rec $fGEq'Var $fGEq'CEq $fGEq':*: $fGEq':+:$fGEq'U