anchor.diff:    /// The result `r` of this operation satisfies:
     /// `this == (this ~/ other) * other + r`.
     /// As a consequence the remainder `r` has the same sign as the divider `this`.
  +  ///
  +  /// Example:
  +  /// ```dart
  +  /// print(BigInt.from(5).remainder(BigInt.from(3))); // 2
  +  /// print(BigInt.from(-5).remainder(BigInt.from(3))); // -2
  +  /// print(BigInt.from(5).remainder(BigInt.from(-3))); // 2
  +  /// print(BigInt.from(-5).remainder(BigInt.from(-3))); // -2
  +  /// ```
     BigInt remainder(BigInt other);
   
     /// Shift the bits of this integer to the left by [shiftAmount].
  
positive.code:   /// `q` will count from `0` up to `255` and then wrap around to `0`.
    ///
    /// If the input fits in [width] bits without truncation, the result is the
    /// same as the input.  The minimum width needed to avoid truncation of `x` is
    /// given by `x.bitLength`, i.e.
    ///
    /// ```dart
  
negative.code:   /// Whether this big integer can be represented as an `int` without losing
    /// precision.
    ///
    /// **Warning:** this function may give a different result on
    /// dart2js, dev compiler, and the VM, due to the differences in
    /// integer precision.
    ///
    /// Example:
    /// ```dart
    /// var bigNumber = BigInt.parse('100000000000000000000000');
    /// print(bigNumber.isValidInt); // false
    ///
    /// var value = BigInt.parse('0xFF'); // 255
    /// print(value.isValidInt); // true
    /// ```
    bool get isValidInt;
  
    /// Returns this [BigInt] as an [int].
  