     if nonLabeledArgs.length < positionalParams.length
       # log "currying known call"
       lambda = (fn_ extraParams, sortedCall)
+      trackTransformation lambda, sortedCall
       compiled = callMacroCompile ctx, lambda
       retrieve call, lambda
       # TODO: massive hack, erase inserted scope, will have to figure out how to fix this better

  if not classParams
    ctx.extendSubstitution substitutionFail
      message: "Constraint #{printType constraint} is ambiguous"
      conflicts: [constraint.origin]
    return {}
  # return "{}" unless classParams
  for className, dict of values classParams

  expression.tea = newForm.tea
  expression.malformed = newForm.malformed
  expression.label = newForm.label if newForm.label
  trackTransformation expression, newForm

trackTransformation = (transformed, newForm) ->
  newForm.transformed = transformed

filterAst = (test, expression) ->
  join (filter test, [expression]),
