anchor.diff:      _cacheSet(evalCache(universe), key, rti);
   
       // Set up methods to type tests.
  -    // TODO(sra): These are for `dynamic`. Install general functions and
  -    // specializations.
  -    var alwaysPasses = JS('', 'function(o) { return o; }');
  -    Rti._setAsCheckFunction(rti, alwaysPasses);
  -    Rti._setTypeCheckFunction(rti, alwaysPasses);
  -    Rti._setIsTestFunction(rti, JS('', 'function(o) { return true; }'));
  +    // TODO(sra): Install specializations.
  +    Rti._setAsCheckFunction(
  +        rti, RAW_DART_FUNCTION_REF(_generalAsCheckImplementation));
  +    Rti._setTypeCheckFunction(
  +        rti, RAW_DART_FUNCTION_REF(_generalTypeCheckImplementation));
  +    Rti._setIsTestFunction(
  +        rti, RAW_DART_FUNCTION_REF(_generalIsTestImplementation));
   
       return rti;
     }
  
positive.code:   throw UnimplementedError('getRuntimeType');
  }
  
  String _rtiToString(Rti rti, List<String> genericContext) {
    int kind = Rti._getKind(rti);
  
  
negative.code: /// This library contains support for runtime type information.
  library rti;
  
  import 'dart:_foreign_helper' show JS, RAW_DART_FUNCTION_REF;
  import 'dart:_interceptors' show JSArray, JSUnmodifiableArray;
  
  /// An Rti object represents both a type (e.g `Map<int, String>`) and a type
  