       return deferCurrentDefinition ctx, expression
 
     return jsNoop() unless expression.tea
-    return jsNoop() if isMalformed
+    return jsNoop() if isMalformed or isFake expression
 
     if assigns.length is 0
       return malformed ctx, to, 'Not an assignable pattern'

    malformed ctx, call, 'Invalid pattern'
  else
    assignCompile ctx, call,
      (jsCall "_#{args.length}", (join [translatedOperator], argList))

callTyping = (ctx, call) ->
  return if ctx.shouldDefer()

    if @isDefining()
      throw new Error "already defining, forgot to leaveDefinition?"
    @_scope().definition =
      name: pattern and (not isFake pattern) and pattern.symbol
      id: pattern?.symbol and (@currentDeclarationId pattern.symbol) or @freshId()
      pattern: pattern
      inside: 0
