Brings the Optic methods back inside as instance methods. Many more type parameters are required on methods to safely handle the co/contravariant STAB parameters.
Renames ThisCan to Can, visually simplifying the signatures
Adds type aliases for all the combinations of Can flags, so that type intersections & do not appear in the APIs, since they are awkward to read. The names match up with the Optic.thatCan methods, eg type EditOption = GetOption & Modify 'type ConvertBetween = Get & ReverseGet`
STAB
parameters.ThisCan
toCan
, visually simplifying the signaturesCan
flags, so that type intersections&
do not appear in the APIs, since they are awkward to read. The names match up with theOptic.thatCan
methods, egtype EditOption = GetOption & Modify
'type ConvertBetween = Get & ReverseGet`