anchor.diff:          match str with
           | null -> null
           | str ->
  -            match str.ToCharArray() |> Array.toList with
  -            | [] -> str
  -            | h :: t when Char.IsUpper h -> String (Char.ToLower h :: t |> List.toArray)
  +            match str.ToCharArray () with
  +            | [||] -> str
  +            | arr when Char.IsUpper arr.[0] -> 
  +                arr.[0] <- Char.ToLower arr.[0]
  +                String (arr)
               | _ -> str
   
       let extractTrailingIndex (str: string) =
  
positive.code:             if hashSet.Add(v) then
                  temp.[i] <- v
                  i <- i + 1
          temp.[0..i ]
  
  
  
  [<RequireQualifiedAccess>]
  
negative.code:             line := reader.ReadLine()
          |]
  
      open System.Text
      /// Use an accumulation function to create a new string applying a transformation
      /// to every non-empty line in the string
      let mapNonEmptyLines (folder: StringBuilder -> string -> StringBuilder) (str: string) =
          let f = OptimizedClosures.FSharpFunc<_,_,_>.Adapt folder
          use reader = new StringReader (str)
          let sb = StringBuilder ()
          let mutable line = reader.ReadLine ()
          while isNotNull line do
              if line.Length > 0 then
                  f.Invoke (sb,line) |> ignore
              line <- reader.ReadLine()
          string sb
  
      /// Parse a string to find the first nonempty line
      /// Return null if the string was null or only contained empty lines
      let firstNonEmptyLine (str: string) =
          use reader = new StringReader (str)
          let rec loop (line:string) =
              if isNull line then None 
              elif  line.Length > 0 then Some line
              else loop (reader.ReadLine())
          loop (reader.ReadLine())
  
  module Reflection =
      open System.Reflection
  
  