How to write arbitrary signals to a bus

Suppose you want to write a signal to a bus. You’d have to specify the signal exactly in a SynthDef or the function youre playing e.g. :

SynthDef(\out, {
	arg bus;
	Out.ar(bus,SinOsc.ar());
})
//or
{arg bus; Out.ar(bus, SinOsc.ar())}

But what if i wanted a little bit more scalability and flexibility. Is it possible to make something that would take any signal and writes it to the bus, without having to describe the signal explicitly in the definition.
That would be something like this:

SynthDef(\out, {
	arg bus, in;
	Out.ar(bus,in);
}).add;
//or
{arg bus, in; Out.ar(bus, in)}

This example seems nonsensical, and it is, but it is to illustrate the problem i have: If you have a arbitrary signal, how do you write it to a bus?

That is a non-starter, sorry.

A SynthDef’s structure must be set in stone at the moment of building the SynthDef.

You can’t write a SynthDef where you swap components in and out at runtime.

As for routing, it is possible to write a SynthDef with an audio control and then map it to an audio bus at runtime. But… the signal comes from a bus… meaning that another synth had to write to the bus… so you would need a SynthDef with a signal generator and Out… so an audio-control routing synth adds complexity without addressing the problem. So I couldn’t recommend that either.

hjh