úÎ,%ùf      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeSafe%&*+,9:;<=DQRT 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 -List append (essentially set disjoint union) Union of sets f2Useful 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 <ghijk flm !"#$%&'()*+,-./0123   0ghijk   flm !"#$%&'()*+,-./0123Safe%&*+,9:;<=DQRT4Construct a submap s from a supermap t 6CSplitting a union of maps, given the maps we want to split it into n=Value-level quick sort that respects the type-level ordering =;At the type level, normalise the list form to the map form >-Predicate to check if in normalised map form ?ZA value-level heterogenously-typed Map (with type-level representation in terms of lists) B4Pair a symbol (representing a variable) with a type DMembership test ELookup elements from a map F"Delete elements from a map by key GHOpen type family for combining values in a map (that have the same key) oApply G6 to values with matching key (removes duplicate keys) HUnion of two finite maps IA key-value pair K<At the value level, noramlise the list form to the map form LUnion of two finite maps <4567pq89:;rsnt<uv=>?@ABCDEFGoHIJKLwMNOPQRSTUVWXYZ[\]^_`abcde456789:;<=>?@ABCDEFGHIJKLIJH<LBC?@AG:;899EDF677>=K45504567pq89:;rsnt<uv=>?@ABCDEFGoHIJKLwMNOPQRSTUVWXYZ[\]^_`abcdeJ4x      !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFG-./0 )*+,HIJ$%KLMNOPQRSTUVWXYSTUVXYZ.type-level-sets-0.8.0.0-GSwT8z9u1h4FakAr792tLo Data.Type.Set Data.Type.MapCmpSortable quicksortDeleteFilterFlagFMinFMaxSortSubsetsubsetNubablenubNubSplitsplit:++ UnionableUnionIsSetAsSetSetEmptyExtProxyasSetunionappend $fConderFalse $fConderTrue$fFilterVFMaxp:$fFilterVFMinp: $fFilterVfp[] $fSortable: $fSortable[] $fSubset:: $fSubsets: $fSubset[][] $fNubable: $fNubable:0 $fNubable:1 $fNubable[] $fSplits:: $fSplit:t: $fSplit::: $fSplit[][][]$fEqSet $fShow'Set $fShow'Set0 $fShowSet $fShowSet0Submapsubmap CombinablecombineAsMapIsMapMapVarMemberLookup:\CombineMapping:->asMap $fSubmap:: $fSubmaps: $fSubmap[][]$fFilterVFMaxkv:$fFilterVFMinkv:$fFilterVfkv[]$fEqMap$fEqMap0 $fShow'Map $fShow'Map0 $fShowMap $fShowMap0 $fShowVar SetPropertiesCondercondFilterVfilterVDeleteFromListShow'show'