 # end of tests
 
 
+
 exports.compileTopLevel = compileTopLevel
 exports.compileExpression = compileExpression
 exports.astizeList = astizeList

    replaceOrAddToMap compiledModules, moduleName,
      declared: (subtractContexts ctx, (injectedContext toInject)) # must recompute because ctx is mutated
      js: js
    (attachPrintedTypes ctx, ast)
    js: js
    ast: ast
    types: typeEnumaration ctx

  if isName operator
    (if operatorName of ctx.macros() and not ctx.arity operatorName
      macroCompile
    else if (isFake operator) or (ctx.isDeclared operatorName) and not ctx.arity operatorName
      callUnknownCompile
    else
      callKnownCompile) ctx, call
