       js: ''
     }
   else
-    module = lookupCompiledModule moduleName
     {modules, ctx} = contextWithDependencies moduleDependencies moduleName
     [expression] = _terms ast
     compilationFn = (topLevelExpressionInModule importsFor moduleDependencies moduleName)

        (call_ (join [expandedOp], (_arguments call)))

callMacroCompile = (ctx, call) ->
  op = _operator call
  op.label = 'keyword'
  macro = ctx.macro op.symbol
  op.id = macro.id
  expanded = macro ctx, call
  if isTranslated expanded
    expanded
  else
    compiled = expressionCompile ctx, expanded
    retrieve call, expanded
    compiled

isTranslated = (result) ->
  (isSimpleTranslated result) or (Array.isArray result) and ((_empty result) or (isSimpleTranslated result[0]))

exports.compileTopLevel = compileTopLevel
exports.compileModule = compileModule
exports.compileExpression = compileExpression
exports.expand = expandCall
exports.findAvailableTypes = findAvailableTypes
exports.findMatchingDefinitions = findMatchingDefinitions
exports.findDocsFor = findDocsFor
