Caching (simple) actionDecl that rollupMetric compound metrics


We noticed, both on v7.6 and v7.8, that putting cache on a SimpleMetric with actionDecl, which calls rollupMetric on another SimpleMetric, works. However, it does not work if the actionDecl calls rollupMetric on a CompoundMetric (even if all its leaf SimpleMetrics have cache). Is there a way to make the cache work in the latter case, too?

Alternatively, as I already asked in Aggregation (rollup) of complex compound metrics, can we make a MetricFunctionLibrary that returns an array of Timeseries so that the result can be used in ExpressionEngineFunction's rollup directly? (I am not sure if the Timeseries at the end of rollup signature must be varargs or an array is fine, too.)