     if ctx.shouldDefer()
       return deferCurrentDefinition ctx, expression
 
+    return jsNoop() unless expression.tea
+
     if assigns.length is 0
       return malformed ctx, to, 'Not an assignable pattern'
     translation = map compileVariableAssignment, (join translationCache, assigns)

  return if ctx.shouldDefer()
  terms = _terms call
  op = _operator call
  call.tea =
    if terms.length is 1
      # terms = join terms, [tea: toConstrained (markOrigin (ctx.freshTypeVariable star), call)]

        else
          ctx.preDeclare name, id: id
    #log "exiting pattern early", pattern, "for", ctx.shouldDefer()
    return {}

  if not matched.tea
    return {}

  # Properly bind types according to the pattern
