anchor.diff:      var int_1 = decoratedTypeAnnotation('int/*1*/');
       var int_2 = decoratedTypeAnnotation('int/*2*/');
       var i_3 = checkExpression('i/*3*/');
  -    assertConstraint([int_2.nullable], _mockOr(int_1.nullable, i_3.nullCheck));
  +    assertConstraint([int_2.nullable], _either(int_1.nullable, i_3.nullCheck));
       assertConstraint([int_2.nullable, int_1.nonNullIntent], i_3.nullCheck);
     }
   
  
positive.code:     var nullable_k = decoratedTypeAnnotation('int k').nullable;
      var nullable_return = decoratedTypeAnnotation('int f').nullable;
      assertConstraint([nullable_i, nullable_j],
          _mockOr(nullable_return, checkExpression('j/*check*/').nullCheck));
      assertConstraint([nullable_k],
          _mockOr(nullable_return, checkExpression('k/*check*/').nullCheck));
      var discard = statementDiscard('if (i == null)');
      expect(discard.keepTrue, same(nullable_i));
      expect(discard.keepFalse, same(ConstraintVariable.always));
  
negative.code:     var nullable_i = decoratedTypeAnnotation('int i').nullable;
      var nullable_return = decoratedTypeAnnotation('int f').nullable;
      assertConstraint([nullable_i],
          _either(nullable_return, checkExpression('i/*check*/').nullCheck));
    }
  
    test_intLiteral() async {
  