anchor.diff:     * Returns an [Iterable] that iterates over the objects in the range
      * [start] inclusive to [end] exclusive.
      *
  -   * An error occurs if [end] is before [start].
  -   *
  -   * An error occurs if the [start] and [end] are not valid ranges at the time
  -   * of the call to this method. The returned [Iterable] behaves like
  -   * `skip(start).take(end - start)`. That is, it does not throw exceptions
  -   * if `this` changes size.
  +   * The provide range, given by [start] and [end], must be valid at the time
  +   * of the call.
  +   *
  +   * A range from [start] to [end] is valid if `0 <= start <= end <= len`, where
  +   * `len` is this list's `length`. The range starts at `start` and has length
  +   * `end - start`. An empty range (with `end == start`) is valid.
  +   *
  +   * The returned [Iterable] behaves like `skip(start).take(end - start)`.
  +   * That is, it does *not* throw if this list changes size.
      *
      *     List<String> colors = ['red', 'green', 'blue', 'orange', 'pink'];
      *     Iterable<String> range = colors.getRange(1, 4);
  
positive.code:   /**
     * Removes the objects in the range [start] inclusive to [end] exclusive.
     *
     * The [start] and [end] indices must be in the range
     * `0 ≤ index ≤ length`, and `start ≤ end`.
     *
     * Throws an [UnsupportedError] if this is a fixed-length list. In that case
     * the list is not modified.
  
negative.code:    *     list1.setRange(1, 3, list2, 3);
     *     list1.join(', '); // '1, 8, 9, 4'
     *
     * The provide range, given by [start] and [end], must be valid.
     * A range from [start] to [end] is valid if `0 <= start <= end <= len`, where
     * `len` is this list's `length`. The range starts at `start` and has length
     * `end - start`. An empty range (with `end == start`) is valid.
     *
     * The [iterable] must have enough objects to fill the range from `start`
     * to `end` after skipping [skipCount] objects.
     *
     * If `iterable` is this list, the operation will copies the elements
     * originally in the range from `skipCount` to `skipCount + (end - start)` to
     * the range `start` to `end`, even if the two ranges overlap.
     *
     * If `iterable` depends on this list in some other way, no guarantees are
     * made.
  