witherable-class defines Filterable
and Witherable
class with instances.
witherable provides indexed variants, optic-style generalised withers and extra instances.
Why not just fmap catMaybes . traverse f
? Because wither
can be defined to traverse the structure once. Also, its parametrity ensures that filtering works in a sane way. For more details, see also FilterableとWitherableについて
Dependencies:
- base-orphans
- containers
- hashable
- transformers
- unordered-containers
- vector