úÎ ;d,      !"#$%&'()*+ non-portable  experimental generics@haskell.org 8Datatype to represent the associativy of a constructor. HDatatype to represent the fixity of a constructor. An infix declaration + directly corresponds to an application of  . 6Class for datatypes that represent data constructors. % For non-symbolic constructors, only   has to be defined.        non-portable  experimental generics@haskell.org ,-./0 non-portable experimentalgenerics@haskell.orgIGiven the names of a generic class, a type to instantiate, a function in J the class and the default implementation, generates the code for a basic  generic instance. @Given the type and the name (as string) for the type to derive,  generate the   instances and the  instance. -Given a datatype name, derive datatypes and  instances of class  . CGiven 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. 123456789:;<=>?@ABCDEFG    non-portable  experimental generics@haskell.org !We use !8 to check for recursion in the structure. This is used ; to avoid selecting a recursive branch in the sum case for #. "#$%!"#$%#$%!"!""#$$% non-portable  experimental generics@haskell.org &'(HIJ&'(&'(&''( non-portable  experimental generics@haskell.org )*+)*+)*+)**+ non-portable experimentalgenerics@haskell.org !"#$%&'()*+ non-portable  experimental generics@haskell.org  K      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOinstant-generics-0.2Generics.Instant.BaseGenerics.Instant.TH Generics.Instant.Functions.EmptyGenerics.Instant.Functions.ShowGenerics.Instant.Functions.EqGenerics.Instant.InstancesGenerics.Instant.FunctionsGenerics.Instant RepresentableReptofrom AssociativityNotAssociativeRightAssociativeLeftAssociativeFixityInfixPrefix ConstructorconName conFixity conIsRecordRecVarC:*::+:RLU simplInstance deriveAllderiveConstructorsderiveRepresentable deriveRepHasRechasRec'Emptyempty'emptyShowshow'showEqeq'eq Tuple_Pair_ Maybe_Just_Maybe_Nothing_ List_Cons_ List_Nil_ deriveInstconstrInstance typeVariablestyVarBndrToNamestripRecordNamesgenName genRepName mkConstrDatamkConstrInstancemkConstrInstanceWithrepTyperepConrepField repField'mkFrommkTofromCon fromFieldtoContoFieldfieldlrPlrEspaceparenwrap