   if not found
     {ctx} = contextWithDependencies reverseModuleDependencies moduleName
     found = lookupInMap ctx._scope(), name # Top scope
+  if not found
+    docs = (lookupInMap ctx._scope().macros, name)?.docs
+    found = {docs} if docs
   found
 
 # API

    macroFn = eval compiledMacro
    if macroFn
      ctx.declareMacro ctx.definitionPattern(), (ctx, call) ->
        if splatted
          constantToSource macroFn Immutable.List (_arguments call)
        else
          constantToSource macroFn (_arguments call)...
    else
      malformed ctx, ctx.definitionPattern(), 'Macro failed to compile'

  if isTypeAnnotation maybeType
    [docs] = partition isComment, rest
    params = (map token_, map _symbol, _terms paramTuple)
    fn_ params, concat [[maybeType], docs, [call_ (token_ macroName), params]]
  else
    # TODO: docs for macros
    [docs] = partition isComment, rest
    extractDocs docs
    jsNoop()

ms['`'] = ms_quote = (ctx, call) ->

callMacroExpand = (ctx, call) ->
  op = _operator call
  op.label = 'keyword'
  op.scope = ctx.currentScopeIndex()
  macro = ctx.macro op.symbol
  op.id = macro.id
  macro ctx, call
