anchor.diff:  
   part of dart._interceptors;
   
  -/**
  - * The implementation of Dart's int & double methods.
  - * These are made available as extension methods on `Number` in JS.
  - */
  +/// Only used as an interceptor by dart:_rti library for number values that look
  +/// like an integer.
  +class JSInt extends JSNumber implements int {}
  +
  +/// Only used as an interceptor by dart:_rti library for number values that look
  +/// like a double.
  +class JSNumNotInt extends JSNumber implements double {}
  +
  +/// The implementation of Dart's int & double methods.
  +///
  +/// These are made available as extension methods on `Number` in JS.
   @JsPeerInterface(name: 'Number')
   class JSNumber extends Interceptor implements int, double {
     const JSNumber();
  
positive.code:   // Returns 1/this % m, with m > 0.
    @notNull
    int modInverse(@nullCheck int m) {
      if (m <= 0) throw RangeError.range(m, 1, null, "modulus");
      if (m == 1) return 0;
      int t = this;
  
negative.code:   // Returns pow(this, e) % m.
    @notNull
    int modPow(@nullCheck int e, @nullCheck int m) {
      if (this is! int) throwArgumentErrorValue(this);
      if (e < 0) throw RangeError.range(e, 0, null, "exponent");
      if (m <= 0) throw RangeError.range(m, 1, null, "modulus");
      if (e == 0) return 1;
  