anchor.diff:     * The returned `Duration` has the same length as this one, but is always
      * positive.
      */
  -  Duration abs() => new Duration(microseconds: _duration.abs());
  +  Duration abs() => new Duration._microseconds(_duration.abs());
   
     /**
      * Returns a new `Duration` representing this `Duration` negated.
  
positive.code:     // By doing the check here instead of relying on "~/" below we get the
      // exception even with dart2js.
      if (quotient == 0) throw new IntegerDivisionByZeroException();
      return new Duration(microseconds: _duration ~/ quotient);
    }
  
    /**
  
negative.code:     }
  
      if (inMicroseconds < 0) {
        return "-${-this}";
      }
      String twoDigitMinutes = twoDigits(inMinutes.remainder(MINUTES_PER_HOUR));
      String twoDigitSeconds = twoDigits(inSeconds.remainder(SECONDS_PER_MINUTE));
  