I think we want to define a new API to capture this. Service types will declare which other service types they extend and how; service types that can be extended will declare how extensions affect their parameters. (We need to distinguish between “service type” and “service instance” because there can be several instances of a given type.) Building the system works in two steps: first we propagate the extensions down to the sinks of the DAG (such as dmd), then we instantiate those. Thoughts? I’ll try to refine this and come up with a proof-of-concept for discussion soonish. Thanks, Ludo’.