úÎ!&Æ$V     Safe7=>?HUVX_5 generics-eotGType that represents meta information about fields of one constructor. generics-eot>Record constructor, containing the list of the selector names. generics-eot^Constructor with fields, but without selector names. The argument gives the number of fields. generics-eotConstructor without fields.  generics-eot%Type for meta information about ADTs. generics-eotunqualified name of the type Safe,/17=>?@AHUVX_ T !"None =>?HVX#C generics-eot An instance ( a) allows us to2convert values of an arbitrary algebraic datatype a* to and from a generic representation ( a) (see  and ).(extract meta information about the type a (see )./Once an algebraic datatype has an instance for  it automatically gets one for . generics-eotm is a type level function that maps arbitrary ADTs to isomorphic generic representations. Here's an example:  data Foo = A Int Bool | B Stringwould be mapped to: 3Either (Int, (Bool, ())) (Either (String, ()) Void))These representations follow these rules::The choice between constructors is mapped to right-nested #s.&There's always a so-called end-marker !. It's an invalid choice (and U is uninhabited to make sure you don't accidentally create such a value). So e.g.  data Foo = A would be mapped to Either () Void2, and a type with no constructors is mapped to Void.@The fields of one constructor are mapped to right-nested tuples.6Again there's always an end-marker, this time of type ()%. A constructor with three fields a, b, c is mapped to (a, (b, (c, ()))) , one field a is mapped to (a, ())!, and no fields are mapped to () (just the end-marker).ÇThese rules (and the end-markers) are necessary to make sure generic functions know exactly which parts of the generic representation are field types and which parts belong to the generic skeleton. generics-eotConvert a value of type a to its generic representation. generics-eot/Convert a value in a generic representation to a (inverse of ). generics-eot'Extract meta information about the ADT.   Safe$1$%&'()*+,        !"#$%&'()*+,-./0123+generics-eot-0.4.0.1-8cG5QUdgDpl6JFjjek6Wto Generics.EotGenerics.Eot.DatatypeGenerics.Eot.EotPaths_generics_eotbase GHC.GenericsGeneric Data.VoidabsurdVoid Data.ProxyProxyFields Selectors NoSelectorsNoFields ConstructorconstructorNamefieldsDatatype datatypeName constructorsHasEotEottoEotfromEotdatatype $fHasEota GenericFields getFieldsCGenericConstructorsgetConstructorsGenericDatatype datatypeC getFieldsgetFieldHasEotGEotGtoEotGfromEotG Data.EitherEitherversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName