Restrict over', iover', and set' to traversals
-
over',iover',set', and associated operators previously accepted setters. However, it's impossible to actually modify strictly through a setter; a traversal is needed for that. Restrict the types to requireA_Traversal, and remove the associated (technically correct but deceptive)Mappinginstances. -
Document the strictness behavior of
set'. -
The internal
Identity'type was non-standard and overly complicated. TheSolotype, now inbase, is operationally identical and simpler to deal with. Use that instead. -
Remove some surprisingly lazy matches on
Identity'/Solo.
Fixes #473
I think it would be rather nice to add the strictly combinator I've proposed for lens, but it would probably take me a bit to learn enough about how this package works to be able to do that myself.