anchor.diff:      for (int i = 0; i < boundsLength; i++) {
         typeParametersText += typeSep;
         typeParametersText += genericContext[genericContext.length - 1 - i];
  -      Rti boundRti = _castToRti(_Utils.arrayAt(bounds, i));
  +      Rti boundRti = _Utils.asRti(_Utils.arrayAt(bounds, i));
         if (!isTopType(boundRti) &&
             (!JS_GET_FLAG('LEGACY') || !isObjectType(boundRti))) {
           typeParametersText +=
  
positive.code:   return JS_GET_FLAG('MINIFIED') ? 'minified:$rawClassName' : rawClassName;
  }
  
  String _rtiArrayToDebugString(Object array) {
    String s = '[', sep = '';
    for (int i = 0; i < _Utils.arrayLength(array); i++) {
      s += sep + _rtiToDebugString(_castToRti(_Utils.arrayAt(array, i)));
      sep = ', ';
    }
    return s + ']';
  
negative.code: 
    static Rti _getStarArgument(Rti rti) {
      assert(_getKind(rti) == kindStar);
      return _Utils.asRti(_getPrimary(rti));
    }
  
    static Rti _getQuestionArgument(Rti rti) {
      assert(_getKind(rti) == kindQuestion);
      return _Utils.asRti(_getPrimary(rti));
    }
  
    static Rti _getFutureOrArgument(Rti rti) {
      assert(_getKind(rti) == kindFutureOr);
      return _Utils.asRti(_getPrimary(rti));
    }
  
    static Rti _getReturnType(Rti rti) {
      assert(_getKind(rti) == kindFunction);
      return _Utils.asRti(_getPrimary(rti));
    }
  
    static _FunctionParameters _getFunctionParameters(Rti rti) {
  