PSetter
A Setter is an optic that allows to see into a structure and set or modify its focus.
A (polymorphic) PSetter is useful when setting or modifying a value for a constructed type i.e. PSetter
A PSetter is a generalisation of a arrow.Functor. Functor::map (fa: Kind, f: (A) -> B): Kind PSetter::modify(s: S, f: (A) -> B): T