anchor.diff:          if Seq.isEmpty source then
               System.String.Empty
           else
  -            let sb = System.Text.StringBuilder ()
  +            let sb =
  +                // OPT: If the input source is an array, we can easily determine the exact capacity needed for the StringBuilder,
  +                //      thereby avoiding (potentially) multiple resizes of the underlying buffer.
  +                match source with
  +                | :? (substring[]) as sourceArr ->
  +                    let resultLength = Array.sumBy length sourceArr
  +                    System.Text.StringBuilder (resultLength)
  +                | _ ->
  +                    System.Text.StringBuilder ()
               for substr in source do
                   sb.Append substr |> ignore
               sb.ToString ()
  
positive.code:             this.String
          else
              this.String.Substring (this.Offset, this.Length)
  
      /// <summary>
      /// Compares two specified <see cref="substring"/> objects by evaluating the numeric values of the corresponding
  
negative.code:     /// <returns></returns>
      [<CompiledName("Read")>]
      let read (substr : substring) : (char * substring) option =
          // Wrap the Substring.TryRead method in a more functional style.
          let mutable c = Unchecked.defaultof<_>
          let mutable remaining = Unchecked.defaultof<_>
          if substr.TryRead (&c, &remaining) then
              Some (c, remaining)
          else None
  
      //
      let inline private subUnsafe (substr : substring) offset count : substring =
  