anchor.diff:    checkIdentical(cIntStaticMethod1, vIntStaticMethod2);
     checkIdentical(vIntTopLevelFunction1, vIntTopLevelFunction2);
     checkIdentical(vIntStaticMethod1, vIntStaticMethod2);
  +  checkEqual(vIntInstanceMethod1, vIntInstanceMethod2);
   
     const CheckIdentical(topLevelFunction, topLevelFunction);
     const CheckIdentical(A.staticMethod, A.staticMethod);
  
positive.code:   const CheckNotIdentical(cIntTopLevelFunction1, cStringTopLevelFunction);
    const CheckNotIdentical(cIntStaticMethod1, cStringStaticMethod);
  
    <X>() {
      X? Function() vXTopLevelFunction1 = genericTopLevelFunction;
      X? Function() vXStaticMethod1 = A.genericStaticMethod;
  
negative.code: 
    void instanceMethod() {}
    X? genericInstanceMethod<X>() => null;
  
    // Enable a mixed-in method in `M` that has a superinvocation.
    int mixedInSuperMethod() => 0;
  }
  
  mixin M on A {
    void mixedInMethod() {}
    int mixedInSuperMethod() => super.mixedInSuperMethod() + 1;
  }
  
  class AM extends A with M {
    int Function() get tearoffSuperMethod => super.mixedInSuperMethod;
  }
  
  class AMM extends AM with M {
    // Tear off the second copy of M.mixedInSuperMethod
    // (`tearoffSuperMethod` still tears off the first copy).
    int Function() get tearoffSuperMethodSecond => super.mixedInSuperMethod;
    // In this case, `super.` should not make a difference.
    int Function() get tearoffSuperMethodSecondNoSuper => mixedInSuperMethod;
  }
  
  const cTopLevelFunction = topLevelFunction;
  