anchor.diff:              rear,
               pending)
   
  -    /// add to rear of queue
  +    /// Returns a new Queue with the object added to the end of the Queue.
       member __.Enqueue value =
           Queue<_>.CreateQueue (
               front,
               value :: rear,
               pending)
   
  -    /// add to front of queue
  +    /// Returns a new Queue with the object added to the front of the Queue.
       member __.EnqueueFront value =
           Queue (
               LazyList.cons value front,
               rear,
               LazyList.cons value pending)
   
  -    //
  +    /// Create an array containing the elements of the Queue in order.
       member this.ToArray () : 'T[] =
           // OPTIMIZATION : If the queue is empty return immediately.
           if this.IsEmpty then
               Array.empty
           else
  -            // Instead of creating a fixed-size array with
  -                // Array.zeroCreate <| size queue
  -            // use a ResizeArray<_> so we only need to traverse the queue once.
  -            // TODO : Tune this for best average-case performance.
  +            // OPTIMIZE : Tune this for best average-case performance.
  +            // Perhaps we can use the LazyList.LazyLength property to
  +            // estimate a better initial capacity for the ResizeArray.
               let result = ResizeArray<_> ()
   
               let mutable queue = this
  
positive.code: 
              ResizeArray.toArray result
  
      //
      member this.ToList () : 'T list =
          // OPTIMIZATION : If the queue is empty return immediately.
          if this.IsEmpty then
  
negative.code:                 rear,
                  LazyList.tail pending)
  
  /// Functional operators related to the Queue type.
  [<RequireQualifiedAccess; CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
  module Queue =
      //open OptimizedClosures
  
      /// Returns an empty queue of the given type.
      [<CompiledName("Empty")>]
      [<GeneralizableValue>]
  