!9H2\n      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm(c) Fumiaki Kinoshita 2015BSD3'Fumiaki Kinoshita <fumiexcel@gmail.com> provisional non-portable Trustworthy1456=>?@ACMSX0! witherableIndexed variant of . witherable Effectful  .  ( i -> n . f i) "a n .   f witherable Monadic variant of .. This may have more efficient implementation. witherableAn enhancement of o with A definition of ! must satisfy the following laws:  conservation (p q . f) "a r f compositions . p ( f) .  g "a  (s . p ( f) . g))Parametricity implies the naturality law: t .  f "a  (t . f) witherable Effectful .  (n . f) "a n .  f  witherable Monadic variant of .. This may have more efficient implementation.  witherableIndexed variant of .  witherable   f .   g "a ifilter (i -> t (u) (f i) (g i)) witherableLike v7, but you can remove elements instead of updating them.Formally, the class  represents a functor from  Kleisli Maybe to Hask.A definition of ! must satisfy the following laws:  conservation (Just . f) "a p f composition f .  g "a  (f <=< g) witherableLike w. witherable  "a  x witherable  f .  g "a filter (t (u) f g) witherable)This is used to characterize and clone a  . Since FilterLike (Peat a b) s t a bA is monomorphic, it can be used to store a filter in a container. witherable A simple . witherable A simple . witherableA  is like a  Xhttp://hackage.haskell.org/package/lens-4.13.2.1/docs/Control-Lens-Type.html#t:Traversal Traversal#, but you can also remove targets. witherable'This type allows combinators to take a  specializing the parameter f. witherableReconstitute a  from its monomorphic form. witherable is actually x, but left for consistency. witherable  "a y witherable through a filter. witherable through a filter. witherable  through a filter. witherable1Filter each element of a structure targeted by a .  witherableAn infix alias for '. The name of the operator alludes to z, and has the same fixity.! witherableFlipped version of  , the  version of . It has the same fixity as . (!) = y  " witherable " = y # witherable/Remove the duplicate elements through a filter.$ witherableIRemove the duplicate elements through a filter. It is often faster than #., especially when the comparison is expensive.% witherablezRemoves duplicate elements from a list, keeping only the first occurrence. This is asymptotically faster than using  from  Data.List.& witherablejRemoves duplicate elements from a list, keeping only the first occurrence. This is usually faster than %=, especially for things that have a slow comparison (like {).| witherableA default implementation for .} witherableA default implementation for  .'  !"#$%&' ! %&" #$ 4!1~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstusvwstxsyzsv{s|}st~stsststsst&witherable-0.3.4-zJ2FnMs6LiCKTElhqULjNData.Witherable Data.Functor<&> Data.ListnubWrappedFoldableWrapFilterableunwrapFoldableWitherableWithIndexiwitheriwitherMifilterA WitherablewitherwitherMfilterAFilterableWithIndex imapMaybeifilter FilterablemapMaybe catMaybesfilterPeatrunPeatFilter' FilterLike'Filter FilterLike cloneFilterwitherOf forMaybeOf mapMaybeOf catMaybesOf filterAOffilterOf<$?><&?>forMaybeordNubOf hashNubOfordNubhashNub$fApplicativePeat $fFunctorPeat$fFilterableMaybeT$fFilterableIdentityT$fFilterableSum$fFilterableProduct$fFilterableCompose$fFilterableSeq$fFilterableVector$fFilterableConst$fFilterableProxy$fFilterableHashMap$fFilterableMonoidalMap$fFilterableMap$fFilterableIntMap$fFilterable[]$fFilterableEither$fFilterableMaybe$fFilterableWithIndexiIdentityT$fFilterableWithIndexEitherSum"$fFilterableWithIndexEitherProduct$fFilterableWithIndex(,)Compose$fFilterableWithIndexIntSeq$fFilterableWithIndexIntVector$fFilterableWithIndexVoidProxy$fFilterableWithIndexkHashMap!$fFilterableWithIndexkMonoidalMap$fFilterableWithIndexkMap$fFilterableWithIndexIntIntMap$fFilterableWithIndexInt[]$fFilterableWithIndex()Maybe$fWitherableMaybeT$fWitherableIdentityT$fWitherableSum$fWitherableProduct$fWitherableCompose$fWitherableSeq$fWitherableVector$fWitherableConst$fWitherableProxy$fWitherableHashMap$fWitherableMonoidalMap$fWitherableMap$fWitherableIntMap$fWitherable[]$fWitherableEither$fWitherableMaybe$fWitherableWithIndexiIdentityT$fWitherableWithIndexEitherSum"$fWitherableWithIndexEitherProduct$fWitherableWithIndex(,)Compose$fWitherableWithIndexIntSeq$fWitherableWithIndexIntVector$fWitherableWithIndexVoidProxy$fWitherableWithIndexkHashMap!$fWitherableWithIndexkMonoidalMap$fWitherableWithIndexkMap$fWitherableWithIndexIntIntMap$fWitherableWithIndexInt[]$fWitherableWithIndex()Maybe$fWitherableWrappedFoldable%$fFilterableWithIndexiWrappedFoldable$fFilterableWrappedFoldable&$fTraversableWithIndexiWrappedFoldable#$fFoldableWithIndexiWrappedFoldable"$fFunctorWithIndexiWrappedFoldable$fFunctorWrappedFoldable$fFoldableWrappedFoldable$fTraversableWrappedFoldable$fApplicativeWrappedFoldable$fAlternativeWrappedFoldablebaseGHC.BasepureData.Traversable Traversablefmap GHC.MaybeJusttraverseData.Functor.ComposeComposeliftA2ghc-prim GHC.Classes&&Functor Data.Maybeidflip<$>StringmapMaybeDefaultimapMaybeDefault