Former
mkBuilderKind { name, base, builderOps, runtimeOps, stateSpec }
derives the operation coproduct surface (Eff, Resp, reviewOp,
opNames, injectorsWith, dispatch) and the state ornament
(State, forget, forgetWith) from one argument tuple, so the
op side and the state side cannot drift. The derived forget is
op-blind: it never depends on the operation datatypes, so it is
operations-preserving by construction.