anchor.diff:              // Return the new cache with the modified maps.
               // NOTE : The index is not updated here -- that is only done
               // when adding values to the cache.
  -            Some (KeyValuePair (key, keyIndexAndValue.Value)),
  +            Some (key, keyIndexAndValue.Value),
               LruCache (cache', indexedKeys', capacity, currentIndex)
   
       //
  
positive.code: 
      //
      member this.Remove (key : 'Key) : LruCache<'Key, 'T> =
          snd <| this.Extract key
  
      //
      member private this.Extract (key : 'Key) : KeyValuePair<'Key, 'T> option * LruCache<'Key, 'T> =
          match HashMap.tryFind key cache with
          | None ->
              None, this
  
negative.code: /// <typeparam name="Key">The type of key used by the cache.</typeparam>
  /// <typeparam name="T">The type of the values stored in the cache.</typeparam>
  [<Sealed; NoComparison>]
  //[<StructuredFormatDisplay("")>]
  [<DebuggerDisplay("Count = {Count}, Capacity = {Capacity}")>]
  //[<DebuggerTypeProxy(typedefof<LruCacheDebuggerProxy<int,int>>)>]
  type LruCache<'Key, [<EqualityConditionalOn>] 'T when 'Key : comparison>
      private (cache : HashMap<'Key, KeyValuePair<int, 'T>>, indexedKeys : IntMap<'Key>,
               capacity : uint32, currentIndex : uint32) =
  