       (termCompile ctx, call_ (token_ 'fn'), (join [paramTuple], rest))
     # log compiledMacro
     ctx.addMacro macroName, simpleMacro eval compiledMacro
+    params = (map token_, paramNames) # freshen
 
     fn_ params, call_ (token_ macroName), params
 

    # .replace(/\./g, 'dot_')
    .replace(/\&/g, 'and_')
    .replace(/\?/g, 'p_')
    .replace(/^const$/, 'const_')
    .replace(/^default$/, 'default_')
    .replace(/^with$/, 'with_')
    .replace(/^in$/, 'in_')


# graphToWheres = (graph) ->


    # Register type
    params = _terms paramTuple
    paramNames = map _symbol, params
    ctx.declare macroName,
      arity: paramNames
      type: quantifyUnbound ctx, typeConstrainedCompile ctx, type

    #macroFn = transform call
