anchor.diff:    ThrowJudgment(Expression expression) : super(expression);
   
     @override
  -  DartType infer<Expression, Statement, Initializer, Type>(
  +  Expression infer<Expression, Statement, Initializer, Type>(
         ShadowTypeInferrer inferrer,
         Factory<Expression, Statement, Initializer, Type> factory,
         DartType typeContext) {
       inferrer.inferExpression(factory, judgment, const UnknownType(), false);
       inferredType = const BottomType();
       inferrer.listener.throw_(this, fileOffset, null, null, inferredType);
  -    return inferredType;
  +    return null;
     }
   }
   
  
positive.code:   ArgumentsJudgment get argumentJudgments => arguments;
  
    @override
    DartType infer<Expression, Statement, Initializer, Type>(
        ShadowTypeInferrer inferrer,
        Factory<Expression, Statement, Initializer, Type> factory,
        DartType typeContext) {
  
negative.code:         factory, right, boolType, !inferrer.isTopLevel);
      inferrer.ensureAssignable(boolType, leftType, left, left.fileOffset);
      inferrer.ensureAssignable(boolType, rightType, right, right.fileOffset);
      inferredType = boolType;
      inferrer.listener
          .logicalExpression(this, fileOffset, null, null, null, inferredType);
      return null;
    }
  }
  
  