If we added a new method for the return of aggregates, we would not be stuffing the returned values into a series of time series types as we do presently.  Instead, each path requested would receive a rowset consisting of one row per timestamp, and one column for each aggregate requested.  You'll note that would let you retrieve one set of columns for one path and a different set for another path, e.g., min, max, average, and stddev for sinusoid and range and total for cdep158.  You'd have to make a separate roundtrip for aggregates, but you could fine-tune what you get back.