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" : "c3.love.expr.Expr_guessType",
  "template" : "Internal error! Unsupported value type for bind variable {}",
  "parameters" : [ "class c3.love.typesys.obj.MappImpl" ],
  "codes" : [ "NotClassified" ]
}