Is it possible to sort the output values of Ugen arrays by output value?

Using ArrayMax from the scplugins, I could see the maximum value and the index of the UGen in the array that outputs the maximum value. However, the index is not an integer but an OutputProxy. So it is not possible to sort an UGen array in a Synth. Using SendReply and OSCFunc (or OSCdef) seems to be the only way at the moment, but there is no benefit to doing so.

I think it would be very handy if there was a converter that would convert the current output value of a Ugen to a float or integer. Max has such functionality: snapshot~ and the right output of number~. Maybe in SC4?

(
{
	var array, findMaximum, sortedArray = [];
	array = (4..1).collect { |i| Rand(1, 5) };
	array.poll(0);
	findMaximum = { |array|
		var maxIndex = ArrayMax.kr(array)[1];
		maxIndex.class.postln;
		sortedArray.add(array[maxIndex]);
		//Array.removeAt(maxIndex);
	};
	array.size.do { findMaximum.(array) }
//sortedArray.poll(0)
}.play
)
OutputProxy
ERROR: Primitive '_BasicAt' failed.
Index not an Integer
RECEIVER:
Instance of Array {    (0x159ebbde8, gc=20, fmt=01, flg=00, set=02)
  indexed slots [4]
      0 : instance of Rand (0x159ade598, size=8, set=3)
      1 : instance of Rand (0x118751868, size=8, set=3)
      2 : instance of Rand (0x2834e3d18, size=8, set=3)
      3 : instance of Rand (0x159d54e28, size=8, set=3)
}