!Bj8G      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFSafe ,-FSTVihaskus-utils-typesType equality to NatGhaskus-utils-typesHelper for Modulohaskus-utils-typesModulohaskus-utils-typesLike: If cond t (TypeError msg)The difference is that the TypeError doesn't appear in the RHS of the type which lead to better error messages (see GHC #14771).XFor instance: type family F n where F n = If (n <=? 8) Int8 (TypeError (Text ERROR))?type family G n where G n = Assert (n <=? 8) Int8 (Text ERROR)uIf GHC cannot solve `F n ~ Word`, it shows: ERROR If GHC cannot solve `G n ~ Word`, it shows: can't match  with Hhaskus-utils-types If-then-elsehaskus-utils-typesGet a Nat valuehaskus-utils-typesGet a Nat valuehaskus-utils-typesGet a Symbol value     Safe +,-<FSTV0,haskus-utils-types3Check that a list only contain a value of each typehaskus-utils-types#Constraint: x member of xs (silent)haskus-utils-typesConstraint: x member of xshaskus-utils-typesProduct of two listshaskus-utils-typesUnion two lists haskus-utils-typesIndexed access into the listIhaskus-utils-typesHelper for MaybeIndexOf!haskus-utils-types<Get the first index (starting from 1) of a type or 0 if noneJhaskus-utils-typesGet the first index of a type"haskus-utils-typesGet all the indexes of a typeKhaskus-utils-typesGet the first index of a type#haskus-utils-typesGet the first index of a type$haskus-utils-types)Keep only a single value of the head type%haskus-utils-types%Keep only a single value of each type&haskus-utils-typesRemove a in l'haskus-utils-types Zip two lists(haskus-utils-types&Map to 1 if type equality, 0 otherwise)haskus-utils-typesGet list indexesLhaskus-utils-typesHelper for IsSubset*haskus-utils-types(Check that a list is a subset of anotherMhaskus-utils-typesHelper for IsMember+haskus-utils-types*Check that a type is member of a type list,haskus-utils-typesGenerate a list of Nat [n..m-1]-haskus-utils-typesRemove types at several indexes.haskus-utils-types*Remove a type at index (0 == don't remove)/haskus-utils-typesRemove a type at index0haskus-utils-typesReverse a list1haskus-utils-types replace types at offsets ns in l2haskus-utils-typesreplace a type at offset n in l3haskus-utils-typesreplace a type by another in l4haskus-utils-typesreplace l[n] with l2 (folded)5haskus-utils-typesInsert a list at n6haskus-utils-types Replicate7haskus-utils-typesGet list length8haskus-utils-typesConcat two type lists9haskus-utils-typesHead of a list:haskus-utils-typesSnoc;haskus-utils-typesInit of a list<haskus-utils-typesTake elements in a list=haskus-utils-typesDrop elements in a list>haskus-utils-typesTail of a listNhaskus-utils-typesHelper for Max?haskus-utils-typesGet the max of a list of Nats@haskus-utils-typesMap a type function& !"#$%&'()*+,-./0123456789:;<=>?@&@?>=<;9:543210/.-876,+*)('&%$#"! Safe-FST6Ahaskus-utils-typesaExtract types of the fields of a data type - only support data type with a single constructorBhaskus-utils-typestExtract fields of a data type: - require selector symbols - only support data type with a single constructorFhaskus-utils-types Named fieldiOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ABCDEFFECDBA           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ RSTUVWXYZY[Y\Y]Y^Y_Y`YaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYqYrYrYsYtYtYuYvYvYwYxYxYyYzY{Y|Y}Y}Y~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY-haskus-utils-types-1.0-KR24ws5ZWaUB6rovHFv11rHaskus.Utils.TypesHaskus.Utils.Types.ListHaskus.Utils.Types.GenericsAssert..base GHC.TypeNatsKnownNat GHC.TypeLits KnownSymbolghc-prim GHC.TypesNatSymbol+*^<=?- CmpSymbolCmpNat TypeErrorText:<>::$$:ShowType ErrorMessage<= Data.ProxyProxySameModuloIfnatValue natValue' symbolValueCheckNubMember'MemberProductUnionIndex MaybeIndexOf IndexesOfIndexOfNubHeadNubFilterZipMapTestIndexesIsSubsetIsMemberGenerate RemoveAtN RemoveAt1RemoveAtReverse ReplaceNSReplaceNReplace ReplaceAtInsertAt ReplicateLengthConcatHeadSnocInitTakeDropTailMaxMapExtractFieldTypes ExtractFields LookupFieldLookupFieldType FieldTypeFieldModulo'Word MaybeIndexOf' IndexesOf'IndexOf' IsSubset' IsMember'Max' GHC.GenericsGenericRepfromtoGeneric1Rep1from1to1Datatype datatypeName moduleName packageName isNewtype ConstructorconName conFixity conIsRecordSelectorselNameselSourceUnpackednessselSourceStrictnessselDecidedStrictnessV1U1Par1unPar1Rec1unRec1K1unK1M1unM1:+:L1R1:*::.:Comp1unComp1RDCSRec0D1C1S1URecUAddrUCharUDoubleUFloatUIntUWorduWord#uInt#uFloat#uDouble#uChar#uAddr#precFixityPrefixInfixFixityIPrefixIInfixI AssociativityLeftAssociativeRightAssociativeNotAssociativeSourceUnpackedness SourceUnpackSourceNoUnpackNoSourceUnpackednessSourceStrictness SourceLazy SourceStrictNoSourceStrictnessDecidedStrictness DecidedLazy DecidedStrict DecidedUnpackMetaMetaDataMetaConsMetaSel