 # 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


injectedContext = (modulesToInject) ->
  ctx = new Context
  for name of values modulesToInject when compiled = lookupInMap compiledModules, name
    injectContext ctx, compiled.declared
  ctx

injectContext = (ctx, compiledModule) ->
