   definitions = subtractMaps ctx._scope(), what._scope()
   typeNames = subtractMaps ctx._scope().typeNames, what._scope().typeNames
   classes = subtractMaps ctx._scope().classes, what._scope().classes
-  macros = subtractMaps (objectToMap ctx._macros), (objectToMap what._macros)
+  macros = subtractMaps ctx._scope().macros, what._scope().macros
   savedScopes = ctx.savedScopes
   {definitions, typeNames, classes, macros, savedScopes}
 

    @classParams = newMap()
    @types = []
    @isMalformed = no

  macros: ->
    @_macros

  addMacro: (name, macro) ->
    @_macros[name.symbol] = macro
    name.id = macro.id = @freshId()

  markMalformed: ->
    @isMalformed = yes

    @statement = []
    @cacheScopes = [[]]
    @_assignTos = []
    topScope = @_augmentScope builtInDefinitions(), builtInMacros(), @scopeIndex = 0
    topScope.typeNames = builtInTypeNames()
    topScope.topLevel = yes
    @scopes = [topScope]
