anchor.diff:      /// <remarks>For a smaller number (&lt;10) of fairly short strings,
       /// this method is the empirically fastest-known way to concatenate
       /// strings without the overhead of a System.Text.StringBuilder.</remarks>
  -    let [<NoDynamicInvocation>] inline concatFast (arr : string[]) =
  +    let [<NoDynamicInvocation>] inline concatArray (arr : string[]) =
           System.String.Join (empty, arr)
   
       /// Creates a new string by joining the specified strings using
  
positive.code:     let [<NoDynamicInvocation>] inline toLines (str : string) =
          str.Split ([| '\r'; '\n' |], System.StringSplitOptions.RemoveEmptyEntries)
  
      /// Creates a new string by removing all leading and trailing
      /// white-space characters from the specified string.
      let [<NoDynamicInvocation>] inline trim (str : string) =
          str.Trim ()
  
      /// Creates an F# option value from the specified string.
      /// If the string 's' is null or empty, returns None; otherwise, returns Some s.
      let [<NoDynamicInvocation>] inline toOption str =
          if System.String.IsNullOrEmpty str then None else Some str
  
  
  /// Additional functional operators on options.
  
negative.code:         match x with Some a -> a :: lst | None -> lst
  
      /// Swaps the values of a tuple so their order is reversed.
      let [<NoDynamicInvocation>] inline swap (x : 'T, y : 'U) =
          y, x
  
      /// Swaps the order of the arguments to a function.
      let [<NoDynamicInvocation>] inline flip f (x : 'T) (y : 'U) : 'V =
          f y x
  
      /// Raises a System.NotImplementedException.
  