     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)

  nonLabeledArgs = map _snd, filter (([label, value]) -> not label), args

  if nonLabeledArgs.length > positionalParams.length
    malformed ctx, call, 'Too many arguments'
  else
    extraParamNames = positionalParams[nonLabeledArgs.length..]
    extraParams = map token_, ("_#{n}" for n in extraParamNames)

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