2+Ex      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwSafe&'+,-;<=>?FSTVdMembership of an element in a set, with an acommanying value-level function that returns a bool 3Open-family for the ordering operation in the sort =Value-level quick sort that respects the type-level ordering AType-level quick sort for normalising the representation of sets Construct a subsetset s from a superset t *Value-level counterpart to the type-level  Note: the value-level case for equal types is not define here, but should be given per-application, e.g., custom merging behaviour may be required %Remove duplicates from a sorted list ASplitting a union a set, given the sets we want to split it into Delete elements from a set -List append (essentially set disjoint union) Union of sets x2Useful properties to be able to refer to someties &Predicate to check if in the set form ;At the type level, normalise the list form to the set form <At the value level, noramlise the list form to the set form !  #    yz{|}   ~Safe&'+,-;<=>?FSTV)=Construct a submap s from a supermap t ?CSplitting a union of maps, given the maps we want to split it into =Value-level quick sort that respects the type-level ordering F;At the type level, normalise the list form to the map form G-Predicate to check if in normalised map form HUpdatability as a type class IUpdate a map with m at variable v with a value of type t to produce a map of type n J)Membership test a type class (predicate) KDValue-level lookup of elements from a map, via type class predicate LZA value-level heterogenously-typed Map (with type-level representation in terms of lists) O4Pair a symbol (representing a variable) with a type Q!Membership test as type function R)Type-level lookup of elements from a map S"Delete elements from a map by key THOpen type family for combining values in a map (that have the same key) Apply T6 to values with matching key (removes duplicate keys) UUnion of two finite maps VA key-value pair X<At the value level, noramlise the list form to the map form Y'Union of two finite maps (normalising) ,Append of two finite maps (non normalising) =>?@ABCDEFGHIJKLMNOPQRSTUVWXY#VWUEYOPLMNTCDABBRQS?@@JKKHIIGFX=>> =>?@ABCDHIJKLMNOPVWW4      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJJKLMNO!PQRSTUVWXYZ[\]^_`ab67cdefghijklmnopqrs"nopqrst.type-level-sets-0.8.7.0-CckS0iz4aD1LxocOrBwjyZ Data.Type.Set Data.Type.MapMemberCmpSortable quicksortDeleteFilterFlagFMinFMaxSortSubsetsubsetNubablenubNubSplitsplitRemoveremove:\:++ UnionableUnionIsSetAsSetSetEmptyExtProxyasSetunionappend$fEqSet $fShowSet $fShow'Set $fShow'Set0 $fShowSet0 $fRemovek:x $fRemovek:x0 $fRemovek[]t $fSplitkkks:: $fSplitkkk:t: $fSplitkkk:::$fSplitkkk[][][] $fNubablek: $fNubablek:0 $fNubablek:1 $fNubablek[] $fSubsetkk:: $fSubsetkks:$fSubsetkk[][] $fConderFalse $fConderTrue$fFilterVFMaxp:$fFilterVFMinp: $fFilterVfp[]$fSortableTYPE: $fSortablek[] $fMemberkka: $fMemberkka:0Submapsubmap CombinablecombineAsMapIsMap UpdatableupdateIsMemberlookpMapVarLookupCombineMapping:->asMap $fShowVar$fEqMap$fEqMap0 $fShowMap $fIsMembervt:$fIsMembervt:0$fUpdatablevt[]:$fUpdatablevt::$fUpdatablevt::0 $fShow'Map $fShow'Map0 $fShowMap0 $fSortable[]$fFilterVfkv[] $fSortable: $fNubable: $fNubable:0 $fNubable:1 $fNubable[]$fFilterVFMaxkv:$fFilterVFMinkv: $fSplits:: $fSplit:t: $fSplit::: $fSplit[][][] $fSubmap:: $fSubmaps: $fSubmap[][] SetPropertiesmemberCondercondFilterVfilterVShow'show'