anchor.diff:          // exclude dart._internal.EfficientLength and others?
           && MirrorSystem.getName(t.owner.qualifiedName) != "dart._internal";
       })
  -    // don't erase in typeToMap...
  -    .map((m) => typeToMap(m, from, false, false)).toList();
  +    // - don't erase in typeToMap...
  +    // - contravariant (i.e. dynamic=Nothing) type arguments for satisfied
  +    //   types! The assumption is that most type parameters are covariant,
  +    //   i.e. producers, and we use Nothing for return types.
  +    .map((m) => typeToMap(m, from, false, false, false)).toList();
   
     // print("satisfies (i): " + map[keySatisfies].toString());
   
  
positive.code:   "serializable" : 1 << 11
  };
  
  Set<LibraryMirror> allowedLibraries;
  
  /*
  
negative.code:     bool forceAbstract) {
  
    var map = new Map();
    // contraviarant return (i.e. dynamic=Nothing)
    map[keyType] = typeToMap(mm.returnType, from, false, true, false);
  
    if (mm.isGetter) {
      // FIXME Find a way to determine if a setter exists. We could search
  