anchor.diff:  /// an [Iterator].
   ///
   /// It is generally not allowed to modify the queue (add or remove entries)
  -/// while an operation on the queue is being performed, for example during a
  +/// while an operation in the queue is being performed, for example during a
   /// call to [forEach].
   /// Modifying the queue while it is being iterated will most likely break the
   /// iteration.
   /// This goes both for using the [iterator] directly, or for iterating an
   /// `Iterable` returned by a method like [map] or [where].
  +///
  +/// Example:
  +/// ```dart
  +/// final queue = Queue<int>(); // ListQueue() by default
  +/// print(queue.runtimeType); // ListQueue
  +///
  +/// // Adding items to queue
  +/// queue.addAll([1, 2, 3]);
  +/// queue.addFirst(0);
  +/// queue.addLast(10);
  +/// print(queue); // {0, 1, 2, 3, 10}
  +///
  +/// // Removing items from queue
  +/// queue.removeFirst();
  +/// queue.removeLast();
  +/// print(queue); // {1, 2, 3}
  +/// ```
   abstract class Queue<E> implements EfficientLengthIterable<E> {
     /// Creates a queue.
     factory Queue() = ListQueue<E>;
  
positive.code:   /// Adds [value] at the end of the queue.
    void add(E value);
  
    /// Remove a single instance of [value] from the queue.
    ///
    /// Returns `true` if a value was removed, or `false` if the queue
    /// contained no element equal to [value].
  
negative.code:   /// that is not an instance of [R], the access will throw instead.
    ///
    /// Elements added to the queue (e.g., by using [addFirst] or [addAll])
    /// must be instances of [R] to be valid arguments to the adding function,
    /// and they must also be instances of [E] to be accepted by
    /// this queue as well.
    ///
    /// Methods which accept `Object?` as argument, like [contains] and [remove],
  