def scatter[S, A]: Optic[Either[S, A], Unit, A, Unit, Affine] { type X = (S, Unit); }
apo's per-slot residual worn on the data.Affine build seam — a scatter decoration. Left(s) → Miss(s) (the O(1) graft); Right(a) → Hit((), a) (keep unfolding). The existential is pinned X = (S, Unit): Fst[X] = S is the grafted subtree, Snd[X] = Unit (a single slot decision carries no extra one-layer leftover). As a genuine Optic[…, Affine] value it composes via data.Affine.assoc and the data.Affine.either2affine bridge (so a Prism whose focus is the residual composes straight into it). The X is exposed (refined) so Fst[X] reduces at use sites.
apo's per-slot residual worn on the data.Affine build seam — a scatter decoration. Left(s) → Miss(s) (the O(1) graft); Right(a) → Hit((), a) (keep unfolding). The existential is pinned X = (S, Unit): Fst[X] = S is the grafted subtree, Snd[X] = Unit (a single slot decision carries no extra one-layer leftover). As a genuine Optic[…, Affine] value it composes via data.Affine.assoc and the data.Affine.either2affine bridge (so a Prism whose focus is the residual composes straight into it). The X is exposed (refined) so Fst[X] reduces at use sites.