Generalizing the interface for different Demand Ugens

hey, im using a SynthDef with Demand Ugens which i map to different parameters from a source SynthDef using .asMap. I would be able to use different Demand Ugens or in this example either have a fixed sequence or random floats. The problem is that the interface is pretty different for both right now and i would like to have it more or less the same and just switch between Dseq and Dwhite but not between seqA and seqB. One needs the passed array the other does not. The parameters of Dwhite gets mapped by .linexp the Dseq parameters get not. Are there any ways to generalize this, maybe passing a bigger array and using floats with Dxrand instead of Dwhite?

(
SynthDef(\microSeq, {
	var trig = In.ar(\in.kr(0), 1);
	var microSeq = \microSeq.kr(Array.fill(6, 1));
	
	var seqA = Demand.ar(trig, 0, Dseq([Dser(microSeq, \microSeqMod.kr(6))], inf));
	var seqB = Demand.ar(trig, 0, Dwhite(0, 1)).linexp(0, 1, 1, \freqModAmount.kr(2));
	
	OffsetOut.ar(\out.kr(0), seq);
}).add;
)


(
var microSeq = [... some array ...];

Synth(\microSeq, [
	
	\microSeq, microSeq,
	\microSeqMod, 5,
	
	\in, ~bus[\trigOut],
	\out, ~bus[\audio][0]
	
], target: ~ctrlGrp);
)