anchor.diff:            "Unexpected instantiation of $type with $instantiation: $result");
       }
   
  -    testRelations(DartType a, DartType b, bool areEqual, bool isSubtype) {
  +    testRelations(DartType a, DartType b,
  +        {bool areEqual: false, bool isSubtype: false}) {
  +      if (areEqual) {
  +        isSubtype = true;
  +      }
         Expect.equals(
             areEqual,
             a == b,
  
positive.code:     testBounds(F4, [Object_, Object_]);
      testBounds(F5, [num_]);
      testBounds(F6, [int_]);
  
      testInstantiate(F1, [C1], 'void Function(C1)');
      testInstantiate(F2, [C2], 'void Function(C2)');
  
negative.code:   const FunctionTypeData('void', 'F4', '<U, V>(V v, U u)'),
    const FunctionTypeData('void', 'F5', '<W extends num>(W w)'),
    const FunctionTypeData('void', 'F6', '<X extends int>(X x)'),
    const FunctionTypeData('void', 'F7', '<Y extends num>(Y y, [int i])'),
    const FunctionTypeData('Z', 'F8', '<Z extends num>(Z z)'),
  ];
  
  main() {
  