 cond_ = (x) ->
   cond: x
 
-malformed = (expression, message) ->
+malformed = (ctx, expression, message) ->
   # TODO support multiple malformations
+  ctx.markMalformed()
   expression.malformed = message
   jsNoop()
 

  else
    token.tea = toConstrained ctx.freshTypeVariable star
    token.scope = ctx.currentScopeIndex()
    jsNoop()

atomCompile = (ctx, atom) ->

    @scopes = [topScope]
    @savedScopes = []
    @classParams = newMap()
    @isMalformed = no

  macros: ->
    @_macros
