E.g. - `Birecursive#iso` should pass the `monocle.Iso` laws. - `x.ana(f).cata(g) ≟ x.hylo(g, f)` (for some generic `f` and `g`) - `x.cata(g) ≟ x.hylo(g, _.project)` and its dual - either make other operations (`gcata`, `futu`, etc.) `final` or add laws comparing them to the default impls
E.g.
Birecursive#isoshould pass themonocle.Isolaws.x.ana(f).cata(g) ≟ x.hylo(g, f)(for some genericfandg)x.cata(g) ≟ x.hylo(g, _.project)and its dualgcata,futu, etc.)finalor add laws comparing them to the default impls