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

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

  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]),
