anchor.diff:    /// between 'generic class is the base environment' and 'generic class is a
     /// singleton type argument' is resolved [TBD] (either (1) a bind1 cache, or
     /// (2)using `env._eval("@<0>")._bind(args)` in place of `env._bind1(args)`).
  +  ///
  +  /// On [Rti]s that are generic function types, results of instantiation are
  +  /// cached on the generic function type to ensure fast repeated
  +  /// instantiations.
     Object _bindCache;
   
     static Object _getBindCache(Rti rti) => rti._bindCache;
  
positive.code: @pragma('dart2js:noInline')
  Rti instantiatedGenericFunctionType(
      Rti genericFunctionRti, Rti instantiationRti) {
    // TODO(fishythefish)
    throw UnimplementedError('instantiatedGenericFunctionType');
  }
  
  bool _isClosure(object) => _Utils.instanceOf(object,
  
negative.code: 
  /// Returns the structural function type of [object], or `null` if the object is
  /// not a closure.
  Rti _instanceFunctionType(object) =>
      _isClosure(object) ? closureFunctionType(object) : null;
  
  /// Returns Rti from types table. The types table is initialized with recipe
  /// strings.
  