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:   JSNumber operator %(@nullCheck num other) {
      // Euclidean Modulo.
      JSNumber result = JS<JSNumber>('!', r'# % #', this, other);
      if (result == 0) return (0 as JSNumber); // Make sure we don't return -0.0.
      if (result > 0) return result;
      if (JS<JSNumber>('!', '#', other) < 0) {
        return JS<JSNumber>('!', '# - #', result, other);
  
negative.code:   JSNumber abs() => JS<JSNumber>('!', r'Math.abs(#)', this);
  
    @notNull
    JSNumber get sign => this > 0
        ? JS<JSNumber>('!', '1')
        : this < 0
            ? JS<JSNumber>('!', '-1')
            : this;
  
    @notNull
    static const int _MIN_INT32 = -0x80000000;
  