úÎ# ,v     (c) Daan Leijen 2002 BSD-style Trustworthy@_( filtrableA set of values a. filtrableO(1)$. The number of elements in the set. filtrableO(1). The empty set. filtrableO(1). Create a singleton set. filtrableO(log n)ƒ. Insert an element in a set. If the set already contains an element equal to the given value, it is replaced with the new value. !"#4Safe@_Ô filtrablecClass of filtrable containers, i.e. containers we can map over while selectively dropping elements.Laws:  $ = id  f =  " % f  =  id  f =  (\ x -> & ' ($ x) (f x))  g .  f =  (g ( f)Laws if ) f: * g .  f = * (\ x -> & + (g x) (f x)) filtrableVMap the container with the given function, dropping the elements for which it returns '. filtrable  =  , filtrable3Drop the elements for which the given predicate is -. filtrable[Traverse the container with the given function, dropping the elements for which it returns '. filtrable3Drop the elements for which the given predicate is -. filtrable:Map the container with the given function, collecting the . s and the / s separately. filtrable?Traverse the container with the given function, collecting the . s and the / s separately. filtrable  =  ,  filtrableInfix synonym of   filtrable f   a =  (f 0 a)  filtrable\mathcal{O}(n^2)A Delete all but the first copy of each element, special case of  .  filtrable\mathcal{O}(n^2)I Delete all but the first copy of each element, with the given relation.  filtrable\mathcal{O}(n\;\mathrm{log}\;n)A Delete all but the first copy of each element, special case of . filtrable\mathcal{O}(n\;\mathrm{log}\;n)I Delete all but the first copy of each element, with the given relation.   4 41      !"#$%&'()'*+',-'(.'/0'12'13'*4'*5678'9:'9;'*<=filtrable-0.1.6.0-inplaceData.FiltrableData.Set.Private FiltrablemapMaybe catMaybesfilter mapMaybeAfilterA mapEither mapEitherApartitionEithers<$?><*?>nubnubBynubOrdnubOrdBy$fFiltrableSeq$fFiltrableMap$fFiltrableIntMap$fFiltrableReverse$fFiltrableBackwards$fFiltrableCompose$fFiltrableSum$fFiltrableProduct$fFiltrableConst$fFiltrableProxy$fFiltrableMaybe $fFiltrable[]Setsizeempty singleton insertBy'SizeBinTip<$!>base GHC.MaybeJustGHC.Basefmap Data.BoolboolNothing Control.Monad<=< Data.FoldableFoldablefoldMapmemptyidghc-prim GHC.TypesFalse Data.EitherLeftRight<*>