anchor.diff:          
           queue.Enqueue value
   
  -    /// Returns a new Queue with the object added to the front of the given Queue.
  +    /// <summary>Returns a new Queue with the object added to the front of the given Queue.</summary>
  +    /// <param name="value"></param>
  +    /// <param name="queue"></param>
  +    /// <returns></returns>
       [<CompiledName("EnqueueFront")>]
       let inline enqueueFront value (queue : Queue<'T>) =
           // Preconditions
  
positive.code: open ExtCore
  
  
  (* INVARIANTS                                        *)
  (*   1. length front >= length rear                  *)
  (*   2. length pending = length front - length rear  *)
  (*   3. (in the absence of insertf's)                *)
  (*      pending = nthtail (front, length rear)       *)
  /// An immutable queue representing a first-in, first-out (FIFO) collection of objects.
  [<Sealed>]
  //[<StructuredFormatDisplay("")>]
  type Queue<'T> private
      (front : LazyList<'T>, rear : 'T list, pending : LazyList<'T>) =
      /// The empty queue instance.
      /// This avoids creating unnecessary instances, since all empty queues are equivalent.
      static let empty : Queue<'T> =
          Queue (
              LazyList.empty,
              [],
              LazyList.empty)
  
      /// The empty queue.
      static member Empty
          with get () = empty
  
      /// Returns true if the given Queue is empty; otherwise, false.
      member __.IsEmpty
          with get () =
              (* by Invariant 1, front = empty implies rear = [] *)
              LazyList.isEmpty front
  
      /// The number of elements in the Queue.
      member __.GetLength () =
          (* = LazyList.length front + length rear -- by Invariant 2 *)
          LazyList.length pending + 2 * List.length rear
  
      /// Removes and returns the object at the beginning of the Queue.
      member __.Dequeue () =
          // Preconditions
          if LazyList.isEmpty front then
  
negative.code: 
  *)
  
  namespace ExtCore.Collections
  
  //open System.Collections
  