Simplified up internals of Data.Label.Maybe.
The Iso class now uses an abstract bijection but runs in normal function space.
Replaced osi with slightly more general inv to get the inverse of an bijection.
Removed unneeded qualification.
Introduced Either lenses.

Like partial labels, but with additional error information.
Introduced ArrowFail class.

With instances for (->), Partial and (Failure e).
Inlined bimap into for.
Minor code cleanup.
Reuse context types from Abstract.
Derived partial labels now require ArrowFail instead of ArrowZero.

This way we can fail with the label name as the error.
Renamed the usage of Pure to Total.
Changed deriving test.
Signature for failure result.

To prevent problems with OverloadedStrings at the use site.
Use primitive modify function in Point instead of primitive set.
Slight code cleanup of abstract lens code.
Lenses are now constructed by providing a modifier.

Not a setter.
Implemented TH deriving code for the new labels.
Renamed Failure to Failing.
Fixed Either labels after merge of 'primitive-modify'.
Probably not true.