!C+9YH      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGSafe ,-FSTVihaskus-utils-typesType equality to NatHhaskus-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 Ihaskus-utils-types If-then-elsehaskus-utils-typesGet a Nat valuehaskus-utils-typesGet a Nat valuehaskus-utils-typesGet a Symbol value     Safe +,-<FSTV1}-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-typesComplement xs ys haskus-utils-typesUnion two lists!haskus-utils-typesIndexed access into the listJhaskus-utils-typesHelper for MaybeIndexOf"haskus-utils-types<Get the first index (starting from 1) of a type or 0 if noneKhaskus-utils-typesGet the first index of a type#haskus-utils-typesGet all the indexes of a typeLhaskus-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 indexesMhaskus-utils-typesHelper for IsSubset+haskus-utils-types(Check that a list is a subset of anotherNhaskus-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)0haskus-utils-typesRemove a type at index1haskus-utils-typesReverse a list2haskus-utils-types replace types at offsets ns in l3haskus-utils-typesreplace a type at offset n in l4haskus-utils-typesreplace a type by another in l5haskus-utils-typesreplace l[n] with l2 (folded)6haskus-utils-typesInsert a list at n7haskus-utils-types Replicate8haskus-utils-typesGet list length9haskus-utils-typesConcat two type lists:haskus-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 listOhaskus-utils-typesHelper for Max@haskus-utils-typesGet the max of a list of NatsAhaskus-utils-typesMap a type function' !"#$%&'()*+,-./0123456789:;<=>?@A'A@?>=<:;6543210/.987-,+*)('&%$#"! Safe-FST7Bhaskus-utils-typesaExtract types of the fields of a data type - only support data type with a single constructorChaskus-utils-typestExtract fields of a data type: - require selector symbols - only support data type with a single constructorGhaskus-utils-types Named fieldiPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~BCDEFGGFDECB           !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR STUVWXYZ[Z\Z]Z^Z_Z`ZaZbZcZdZeZfZgZhZiZjZkZlZmZnZoZpZqZrZrZsZsZtZuZuZvZwZwZxZyZyZzZ{Z|Z}Z~Z~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ,haskus-utils-types-1.1-GQrCOII3sKCYktZqvUnMlHaskus.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'MemberProduct ComplementUnionIndex 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