anchor.diff:        InferenceContext.setType(right, rightParam.type);
       }
   
  -    // TODO(scheglov) Do we need these checks for null?
  -    right?.accept(_resolver);
  +    right.accept(_resolver);
   
       _resolveUserDefinableType(node);
     }
  
positive.code:   }
  
    void _resolveUserDefinable(BinaryExpressionImpl node) {
      Expression left = node.leftOperand;
      Expression right = node.rightOperand;
  
      // TODO(scheglov) Do we need these checks for null?
      left?.accept(_resolver);
  
      var operator = node.operator;
      _resolveUserDefinableElement(node, operator.lexeme);
  
negative.code:     InferenceContext.setType(left, _typeProvider.boolType);
      InferenceContext.setType(right, _typeProvider.boolType);
  
      left.accept(_resolver);
      left = node.leftOperand;
  
      flow?.logicalBinaryOp_rightBegin(left, isAnd: false);
  