anchor.diff:    KernelIntLiteral(int value) : super(value);
   
     @override
  -  DartType _inferExpression(DartType typeContext, bool typeNeeded) {
  +  DartType _inferExpression(
  +      KernelTypeInferrer inferrer, DartType typeContext, bool typeNeeded) {
       // TODO(paulberry): implement.
       return typeNeeded ? const DynamicType() : null;
     }
  
positive.code: abstract class KernelExpression implements Expression {
    /// Calls back to [inferrer] to perform type inference for whatever concrete
    /// type of [KernelExpression] this is.
    DartType _inferExpression(DartType typeContext, bool typeNeeded);
  }
  
  /// Concrete shadow object representing a function expression in kernel form.
  
negative.code:       : super(variable, promotedType);
  
    @override
    DartType _inferExpression(
        KernelTypeInferrer inferrer, DartType typeContext, bool typeNeeded) {
      // TODO(paulberry): implement.
      return typeNeeded ? const DynamicType() : null;
    }
  