h*,\(U      !"#$%&'()*+,-./0123456789:; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i jklmnopqrstuvwxyz{|}~0.3.1 Safe-Inferred )1=> Safe-Inferred )1=>generic-data-functions5Only "proper" sum types are permitted, no singletons.generic-data-functions/Treat a single constructor as a sum type still. Safe-Inferred )1=>generic-data-functions? without the value (only used as a proxy). Lets us push our s into one place.generic-data-functions? without the value (only used as a proxy). Lets us push our s into one place.generic-data-functions? without the value (only used as a proxy). Lets us push our s into one place.generic-data-functions.Get the record name for a selector if present.On the type level, a 'Maybe Symbol' is stored for record names. But the reification is done using  fromMaybe "". So we have to inspect the resulting string to determine whether the field uses record syntax or not. (Silly.) Safe-Inferred )1=> Safe-Inferred )1=>  generic-data-functionsCommon type error string for when GHC is asked to derive a sum instance, but the data type in question turns out to be a non-sum data type.No need to add the data type name here, since GHC's context includes the surrounding instance declaration. generic-data-functionsCommon type error string for when GHC is asked to derive a non-sum instance, but the data type in question turns out to be a sum data type.No need to add the data type name here, since GHC's context includes the surrounding instance declaration. generic-data-functionsCommon type error string for when you attempt to use a generic instance at an empty data type (e.g. , ).    Safe-Inferred )1=> generic-data-functionsApply a list of generic representation constructor-level assertions.generic-data-functionsConvert a generic representation constructor-level assertion "label" to the assertion it represents, and make that assertion.generic-data-functionsGeneric representation assertions, on the constructor level (bits that come after ).generic-data-functions3Is not an empty type (does not have 0 constructors)generic-data-functions+Is not a sum type (has 0 or 1 constructors)generic-data-functions,Is a sum type (has 0 or >2 constructors)   Safe-Inferred )1=> generic-data-functionsgeneric-data-functions2Implementation enumeration type class for generic .:The type variable is uninstantiated, used purely as a tag.Avoid orphan instances by defining custom empty types to use here. See the binrep library on Hackage for an example. generic-data-functions The target  to  to.!generic-data-functions'The type class providing the action in  for permitted types."generic-data-functionsThe action in  (first argument).We include data type metadata because this function is useful for monadic parsers, which can record it in error messages. (We don't do it for foldMap because it's pure.)#generic-data-functions over types where all fields are replaced with the functor's .1Note that one may write a valid instance using a  on a>s instead. I don't think you should. But I can't explain why.$generic-data-functions. over types with no fields in any constructor."generic-data-functionsdata type name generic-data-functionsconstructor name generic-data-functionsrecord name (if present) generic-data-functions field index "! "!  Safe-Inferred)1=>b ,generic-data-functions?How to use a type as a prefix tag in a generic sum type parser..generic-data-functions1How to turn a constructor name into a prefix tag./generic-data-functions(How to compare prefix tags for equality.By shoving this into our generic derivation config, we can avoid adding an insidious 6 constraint. In general, you will want to set this to .0generic-data-functions"Make a prefix tag human-readable.  is often appropriate.1generic-data-functions(Sum type monads that can be generically d.We use : to handle "which constructor" checking on the term level.2generic-data-functions"Try to parse a prefix tag of type pt.+Relevant metadata is provided as arguments.3generic-data-functionsParse error due to no constructor matching the parsed prefix tag.+Relevant metadata is provided as arguments.7generic-data-functionsIf the constructor matches the expected prefix tag, then return the action handling that constructor's contents, else return the empty action.8generic-data-functions!Combine constructor options with  ("or").2generic-data-functionsdata type name3generic-data-functionsdata type namegeneric-data-functionsnon-matching constructor namesgeneric-data-functionsprefix tag, prettified ()*+,0/.-1324 132,0/.-*+4()  Safe-Inferred)1=>;<;<  Safe-Inferred )1=>@generic-data-functionsGeneric " over a term of non-sum data type f a.Ageneric-data-functionsGeneric  over a term of sum data type f a.You must provide a configuration for how to handle constructors.Bgeneric-data-functions-Construct a prefix tag config using existing  and  instances.;The user only needs to provide the constructor name parser. !"@;123,-./0A*B !"@;123,-./0A*B  Safe-Inferred)1=>S Cgeneric-data-functions' on individual constructors (products).Egeneric-data-functions2Implementation enumeration type class for generic .:The type variable is uninstantiated, used purely as a tag.Avoid orphan instances by defining custom empty types to use here. See the binrep library on Hackage for an example.Fgeneric-data-functions The target  to  to.Ggeneric-data-functions-The type class providing the map function in  for permitted types.Hgeneric-data-functionsThe map function in  (first argument).Igeneric-data-functions$ over types where all fields map to .Jgeneric-data-functions. over types with no fields in any constructor.Kgeneric-data-functionsWow, look! Nothing!Mgeneric-data-functions' on individual constructors (products).CDEHGFEHGFCD  Safe-Inferred)1=>Tgeneric-data-functionsSum type handler handling constructors only. Useful if you handle constructor prefixes elsewhere. NOPQRSTUVW VWTURSQPON  Safe-Inferred)1=> `generic-data-functionsSum type handler prefixing constructor contents with their mapped constructor name via a provided  String -> m. TODO rename`abcbc`a Safe-Inferred)1=>!jgeneric-data-functions! over generic product data types.Take a generic representation, map each field in the data type to a  , and combine the results with ().jkjk Safe-Inferred )1=>$mogeneric-data-functionsGeneric " over a term of non-sum data type a.a# must have exactly one constructor.pgeneric-data-functionsGeneric  over a term of sum data type a.You must provide a function for mapping constructor names to monoidal values.This is the most generic option, but depending on your string manipulation may be slower.qgeneric-data-functionsGeneric  over a term of sum data type a where constructors are mapped to their index (distance from first/leftmost constructor)a% must have at least two constructors.You must provide a function for mapping bytes to monoidal values.This should be fairly fast, but sadly I think it's slower than the generics in store and binary/cereal libraries. EFGHojpbqV EFGHojpbqV Safe-Inferred )1=>$ rtsuvwyxz{ wyxuvrtsz{ Safe-Inferred)1=>%generic-data-functions#over types where all fields map to generic-data-functions,over types with no fields in any constructor Safe-Inferred)1=>% Safe-Inferred)1=>&4 Safe-Inferred )1=>'generic-data-functions0Generic contra over a term of non-sum data type a.a# must have exactly one constructor.generic-data-functions,Generic contra over a term of sum data type a.9You must provide a contra function for constructor names.This is the most generic option, but depending on your string manipulation may be slower. Safe-Inferred )1=>(@ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHHIJKLMNOPQRSTU V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~      $generic-data-functions-0.3.1-inplaceGeneric.Data.Function.Common"Generic.Data.Function.Util.Generic#Generic.Data.Function.Util.TypeNatsGeneric.Data.Rep.ErrorGeneric.Data.Rep.AssertGeneric.Data.Wrappers*Generic.Data.Function.Traverse.Constructor"Generic.Data.Function.Traverse.Sum%Generic.Data.Function.Traverse.NonSumGeneric.Data.Function.Traverse)Generic.Data.Function.FoldMap.Constructor)Generic.Data.Function.FoldMap.SumConsByte!Generic.Data.Function.FoldMap.Sum$Generic.Data.Function.FoldMap.NonSumGeneric.Data.Function.FoldMapGeneric.Data.Function.Example(Generic.Data.Function.Contra.Constructor Generic.Data.Function.Contra.Sum#Generic.Data.Function.Contra.NonSumGeneric.Data.Function.Contrageneric-data-functionsGeneric.Data.Function Data.VoidVoid GHC.GenericsV1Paths_generic_data_functionsSumOptsSumOnlyAllowSingletonSum datatypeName'conName'selName' selName''natVal'' natValIntEUnexpectedNonSumEUnexpectedSumENoEmptywrapEeNoEmptyeNoSumeNeedSum GCNeedSumGCNoSum GCNoEmptyApplyGCAsserts ApplyGCAssertGCAssertNoEmptyNoSumNeedSum EmptyRec0ENoRec0NoRec0 ProdArity GTraverseC gTraverseCGenericTraverseGenericTraverseFGenericTraverseCgenericTraverseAction$fGenericTraverseTYPEEmptyRec0$fGenericTraverseTYPENoRec0$fGTraverseCkkkkcdcc0tagU1$fGTraverseCkkkkcdccsitagM1$fGTraverseCkkkTYPEcdccsitag:*: GTraverseCSum gTraverseCSum GTraverseSum gTraverseSum PfxTagCfgpfxTagCfgFromCstr pfxTagCfgEq pfxTagCfgShowGenericTraverseSumgenericTraverseSumPfxTagAction&genericTraverseSumNoMatchingCstrAction gTraverseSum'$fGTraverseSumkkkoptscdtagV1$fGTraverseSumkkkSumOnlycdtagM1$fGTraverseCSumkkkcdtagM1$fGTraverseCSumkkkcdtag:+:)$fGTraverseSumkkkAllowSingletonSumcdtagM1$fGTraverseSumkkkoptscdtag:+:GTraverseNonSumgTraverseNonSum$fGTraverseNonSumkkcdtagV1$fGTraverseNonSumkkcdtag:+:$fGTraverseNonSumkkcdtagM1genericTraverseNonSumgenericTraverseSumeqShowPfxTagCfg GFoldMapC gFoldMapCGenericFoldMapGenericFoldMapMGenericFoldMapCgenericFoldMapF$fGenericFoldMapTYPEEmptyRec0$fGenericFoldMapTYPENoRec0$fGFoldMapCkktagU1$fGFoldMapCkktagM1$fGFoldMapCkktag:*:TypeErrorMessageFitsInByteResult FitsInByteSumArityGFoldMapCSumCtrArityBytegFoldMapCSumCtrArityByteGFoldMapCSumCtrgFoldMapCSumCtrGFoldMapSumConsBytegFoldMapSumConsByte$fGFoldMapSumConsBytekkmV1$fGFoldMapSumConsBytekkmM1$fGFoldMapSumConsBytekktagM1$fGFoldMapCSumCtrkktagM1$fGFoldMapCSumCtrkktag:+:&$fGFoldMapCSumCtrArityBytekktagarityM1*$fGFoldMapCSumCtrArityBytekTYPEtagarity:+: $fGFoldMapSumConsBytekTYPEtag:+: GFoldMapCSum gFoldMapCSum GFoldMapSum gFoldMapSum$fGFoldMapSumkkoptstagV1$fGFoldMapSumkkSumOnlytagM1$fGFoldMapCSumkktagM1$fGFoldMapCSumkktag:+:%$fGFoldMapSumkkAllowSingletonSumtagM1$fGFoldMapSumkkoptstag:+:GFoldMapNonSumgFoldMapNonSum$fGFoldMapNonSumkktagV1$fGFoldMapNonSumkktag:+:$fGFoldMapNonSumkktagM1genericFoldMapNonSumgenericFoldMapSumgenericFoldMapSumConsByteShowlyunShowlyYXX1X2 showGeneric showGeneric'$fGenericFoldMapTYPEShowly$fSemigroupShowly$fMonoidShowly $fGenericY $fGenericXGContraCgContraC GenericContraGenericContraFGenericContraCgenericContraF$fGenericContraTYPEEmptyRec0$fGenericContraTYPENoRec0$fGContraCkktagU1$fGContraCkktagM1$fGContraCkktag:*: GContraCSum gContraCSum GContraSum gContraSum$fGContraSumkkoptstagV1$fGContraSumkkSumOnlytagM1$fGContraCSumkktagM1$fGContraCSumkktag:+:$$fGContraSumkkAllowSingletonSumtagM1$fGContraSumkkoptstag:+: GContraNonSum gContraNonSum$fGContraNonSumkktagV1$fGContraNonSumkktag:+:$fGContraNonSumkktagM1genericContraNonSumgenericContraSumbase datatypeNameGHC.Err undefinedconNameselNameD1GHC.BasememptyData.Traversabletraverse ApplicativeemptyMonoidghc-prim GHC.ClassesEq==GHC.Showshow Alternative<|>Show Data.FoldablefoldMap<>version getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDir