anchor.diff:  
       let replicate count initial = Linq.Enumerable.Repeat (initial, count)
   
  +    open System.Collections.ObjectModel
  +    open System.Collections.Generic
  +    let toIReadOnlyList (x: seq<_>) = x |> ResizeArray |> ReadOnlyCollection :> IReadOnlyList<_>
  +
  +
  +/// Additional operations IList<'T>
  +[<RequireQualifiedAccess>]
  +module IList =
  +    open System.Collections.ObjectModel
  +    open System.Collections.Generic
  +    let toIReadOnlyList (source: IList<_>) = ReadOnlyCollection source :> IReadOnlyList<_>
  +
   
   /// Additional operations on List
   [<RequireQualifiedAccess>]
  
positive.code: [<RequireQualifiedAccess>]
  module Dict =
      open System.Collections.Generic
  
      let tryGetValue k (dct: IDictionary<'Key, 'Value>) =
          match dct.TryGetValue k with
          | true, v -> Some v
          | _       -> None
  
      let map f (x: IDictionary<'Key, 'T>) =
          let dct = Dictionary<'Key, 'U> ()
  
negative.code:     /// Replace a subsequence of the source list with the given replacement list.
      let replace oldValue (newValue: _ list) (source: _ list) = source |> List.toSeq |> Seq.replace oldValue newValue |> Seq.toList : list<'T>
  
      let toIReadOnlyList (source: _ list) =
          { new System.Collections.Generic.IReadOnlyList<_> with
              member __.Count = source.Length
              member __.Item with get index = source.[index]
              member __.GetEnumerator () = (source :> _ seq).GetEnumerator ()
              member __.GetEnumerator () = (source :> System.Collections.IEnumerable).GetEnumerator () }
  
  
  /// Additional operations on Array
  [<RequireQualifiedAccess>]
  