Extra functions for working with Semialigns.
The Semialign typeclass lets us line up two structures of the same type. By combining this with the classes from the "witherable" package, we can derive a number of useful diff / patch / merge-style operations.
semialign-extras

The Semialign typeclass (from semialign) lets us line up two structures of the same type. By combining this with the Filterable and Witherable typeclasses from the witherable package, we can derive a number of useful diff/patch/merge-style operations.
Scope of the Library
semialign-extras aims to be a collection of interesting abstractions/operations that:
Build on top of (at least) the
Semialigntypeclass, or related classes from thesemialignuniverse; andDo not belong inside other packages in the
semialignuniverse.
PRs that serve these goals are most welcome.
Rationale
semialign has a very lean dependency footprint, and its authors intend to keep it that way. If your PR can work within the small dependency footprint of semialign, it probably should be offered up there first.
semialign-extras already depends on lens, so the marginal cost of additional dependencies is likely to be small.