   mapKeys lookupDefinitions, moduleSet
 
 contextWithDependencies = (modules) ->
-  ctx: injectedContext modules
+  ctx: injectedContext modules, yes
   modules: setToArray modules
 
 moduleDependencies = (moduleName) ->

      throw new Error "Macro #{name} already defined"
    else
      addToMap topScope.macros, name, macro
  for name, {type, arity, docs, source, isClass, virtual, final} of values definitions when shouldImport name
    addToMap topScope, name, {type, arity, docs, source, isClass, virtual, final}
  topScope.typeNames = concatMaps topScope.typeNames, typeNames
  topScope.classes = concatMaps topScope.classes, classes
  ctx.scopeIndex += compiledModule.savedScopes.length

  nameIndex = ctx.nameIndex
  {definitions, typeNames, classes, macros, savedScopes, nameIndex}

injectedContext = (modulesToInject, shouldDeclare) ->
  ctx = new Context
  for moduleName, names of values modulesToInject when compiled = lookupCompiledModule moduleName
    injectContext ctx, shouldDeclare, compiled.declared, moduleName, names
  ctx

injectContext = (ctx, shouldDeclare, compiledModule, moduleName, names) ->
  {definitions, typeNames, classes, macros} = compiledModule
  topScope = ctx._scope()
  shouldImport = (name) -> not names.size or inSet names, name
