Constructor for Modify — write-only single-focus optic, backed by ModifyF. The caller applies a function at the focus but cannot read it back; useful when observation would leak information or when the focus is genuinely unreadable (e.g. inside a closure).
'''This is Monocle's / Haskell lens's Setter, renamed.''' The mapping is Setter.modify ↦ Modify.modify and Setter.set ↦ Modify.replace — do not look for a Setter type here.
Modify.apply returns a concrete Modify, so a Modify composes with another Modify through the ordinary andThen (the fused Modify.andThen) — s1.andThen(s2).modify(f) == s1.modify(s2.modify(f)) — exactly as Iso / Lens / Getter compose via their own fused subclasses, bypassing the generic AssociativeFunctor[ModifyF] round-trip.
Write-only Modify over any Functor[F]: modify = F.map — the Traversal.each analog for containers that are mappable but not foldable into view (Function1[R, *], Eval, …). Polymorphic in the focus (map is); Modify extends CanModifyP directly, so the result is capability evidence as-is.
Write-only Modify over any Functor[F]: modify = F.map — the Traversal.each analog for containers that are mappable but not foldable into view (Function1[R, *], Eval, …). Polymorphic in the focus (map is); Modify extends CanModifyP directly, so the result is capability evidence as-is.