Metric within binding of another metric call

Is it possible to pass in a metric result as a binding within another metric call?
For example:

var result1 = Type.evalMetrics({expressions: ['metric1']}).byMetrics()
var result2 = Type.evalMetrics({expressions: ['metric2'], bindings: {'metric1': result1}}).byMetrics()

# where metric2 is some function of metric1, metric2 = f(metric1)

I have attempted this in order to evaluate metric1 only once, but received the following error:

  "id" : "5644.1824",
  "key" : "",
  "template" : "Internal error! Unsupported value type for bind variable {}",
  "parameters" : [ "class" ],
  "codes" : [ "NotClassified" ]