ListsComponents
A {@see ComponentRegistryInterface} that can enumerate what it holds. Kept as a sibling interface rather than a method on the registry contract so existing implementations stay valid (additive, greenhouse decisions/0211). Composition needs it: a {@see \Milpa\Live\Runtime\CompositeComponentRegistry} can only detect that two layers bind the same name to different definitions — and can only list their union — for layers that implement this.
ListsComponents::names()
abstract public function names(): arrayEvery registered component name, in registration order.