úÎ!BÎ?Ò-      !"#$%&'()*+,None"#&',-.DFQTVi,­ typerep-mapExistential wrapper around - 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 ., as an interpretation, with a comparison to :   / (. / )  .] --------------------------- --------------------- "Int" -> Just "5" 00 -> Just 5 "Bool" -> Just "True" 1 -> Just 2% "Char" -> Nothing 3 -> 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-mapReturns the list of 4s 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-mapCreates  from a list of s.7size $ fromList [TF $ Identity True, TF $ Identity 'a']2  typerep-mapUses  to combine s.! typerep-map Shows only 4s.   None"#Vi.    None"#QVi?~ # typerep-map# is a special case of  when the interpretation is 5.$ 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 #. #$%&'()*+, #$%&'()*+,6      !"#$%&' ()*(+,(+-./0./1./2./3(45(678(typerep-map-0.1.0-JyUZaMY63UZ5VD8jewaBttData.TypeRepMap.Internal Data.TMapData.MapMapData.TypeRepMapTFKindOf TypeRepMap fingerprintAs fingerprintBsanystoFingerprintsemptyoneinsertdeletehoist unionWithunionmemberlookupsizecachedBinarySearchtoAnyfromAnytypeFp toPairList deleteByFstnubByFstfromListfromFcalcFp fromListPairsfromSortedList$fMonoidTypeRepMap$fSemigroupTypeRepMap$fShowTypeRepMap$fShowTFTMapbaseData.Typeable.InternalTypeableGHC.BaseMaybeStringghc-prim GHC.TypesIntBoolTrueCharGHC.Fingerprint.Type FingerprintData.Functor.IdentityIdentity