úÎ!EIB1      !"#$%&'()*+,-./0None"#%&',-.DFQTVi. typerep-mapExistential wrapper around 1 indexed by f type parameter. Useful for ! structure creation form list of s. typerep-map= is a heterogeneous data structure similar in its essence to  with types as keys, where each value has the type of its key. In addition to that, each value is wrapped in an interpretation f.Here is an example of using 2, as an interpretation, with a comparison to :   3 (2 3 )  2] --------------------------- --------------------- "Int" -> Just "5" 40 -> Just 5 "Bool" -> Just "True" 5 -> Just 6% "Char" -> Nothing 7 -> Nothing The runtime representation of % is an array, not a tree. This makes  significantly more efficient. typerep-mapan unsafe constructor for  typerep-map$first components of key fingerprints typerep-map%second components of key fingerprints typerep-mapvalues stored in the map typerep-map typerep keys  typerep-mapReturns the list of 8s from .  typerep-mapA  with no values stored in it.size empty == 0member @a empty == False  typerep-map Construct a  with a single element.size (one x) == 1"member @a (one (x :: f a)) == True  typerep-mapInsert a value into a .size (insert v tm) >= size tm(member @a (insert (x :: f a) tm) == True  typerep-mapDelete a value from a .size (delete @a tm) <= size tm!member @a (delete @a tm) == False7tm = delete @Bool $ insert (Just True) $ one (Just 'a')size tm1member @Bool tmFalsemember @Char tmTrue typerep-mapMap over the elements of a .0tm = insert (Identity True) $ one (Identity 'a')lookup @Bool tmJust (Identity True)lookup @Char tmJust (Identity 'a')$tm2 = hoist ((:[]) . runIdentity) tmlookup @Bool tm2 Just [True]lookup @Char tm2Just "a" typerep-mapThe union of two s using a combining function. typerep-mapThe (left-biased) union of two Gs. It prefers the first map when duplicate keys are encountered, i.e.  ==  const. typerep-map3Check if a value of the given type is present in a .!member @Char $ one (Identity 'a')True!member @Bool $ one (Identity 'a')False typerep-map&Lookup a value of the given type in a .0x = lookup $ insert (Identity (11 :: Int)) emptyx :: Maybe (Identity Int)Just (Identity 11)x :: Maybe (Identity ())Nothing typerep-map Get the amount of elements in a . typerep-map'Binary searched based on this article  Fhttp://bannalia.blogspot.com/2015/06/cache-friendly-binary-search.html3 with modification for our two-vector search case." typerep-mapUses  to combine s.# typerep-map Shows only 8s.$ typerep-mapfromList . toList == 'id'Creates  from a list of s.Ksize $ fromList [WrapTypeable $ Identity True, WrapTypeable $ Identity 'a']2!  !   None"#Vi/t  None"#QViA¹ & typerep-map& is a special case of  when the interpretation is 9.' typerep-mapA & with no values stored in it.size empty == 0member @a empty == False( typerep-map Construct a & with a single element.size (one x) == 1 member @a (one (x :: a)) == True) typerep-mapInsert a value into a &.size (insert v tm) >= size tm&member @a (insert (x :: a) tm) == True* typerep-mapDelete a value from a &.size (delete @a tm) <= size tm!member @a (delete @a tm) == False)tm = delete @Bool $ insert True $ one 'a'size tm1member @Bool tmFalsemember @Char tmTrue+ typerep-mapThe union of two &s using a combining function., typerep-mapThe (left-biased) union of two &Gs. It prefers the first map when duplicate keys are encountered, i.e. , == + const.- typerep-map&Lookup a value of the given type in a &.%x = lookup $ insert (11 :: Int) emptyx :: Maybe IntJust 11 x :: Maybe ()Nothing. typerep-map3Check if a value of the given type is present in a &.member @Char $ one 'a'Truemember @Bool $ one 'a'False/ typerep-map Get the amount of elements in a &.0 typerep-mapMap a function over the values. &'()*+,-./0 &'()*+,0-./:      !"#$%&'()*+,-.,/0,/1234235236237,89,:;<(typerep-map-0.2.0-1ENapKzCv2wLILJPbUJdRtData.TypeRepMap.Internal Data.TMapData.MapMapData.TypeRepMap WrapTypeableKindOf TypeRepMap fingerprintAs fingerprintBsanyskeystoFingerprintsemptyoneinsertdeletehoisthoistA hoistWithKey unionWithunionmemberlookupsizecachedBinarySearchtoAnyfromAnytypeFp toTriples deleteByFstnubByFstfst3calcFp fromTriplesfromSortedList$fMonoidTypeRepMap$fSemigroupTypeRepMap$fShowTypeRepMap$fIsListTypeRepMap$fShowWrapTypeableTMapmapbaseData.Typeable.InternalTypeableGHC.BaseMaybeStringghc-prim GHC.TypesIntBoolTrueCharGHC.Fingerprint.Type FingerprintData.Functor.IdentityIdentity