anchor.diff:  /// matches Path.DirectorySeparatorChar.         
   let endsWithSlash = endsWith (Path.DirectorySeparatorChar.ToString())
   
  +/// Replaces the first occurrence of the pattern with the given replacement.
   let replaceFirst (pattern: string) replacement (text: string) = 
       let pos = text.IndexOf pattern
       if pos < 0
           then text
           else text.Remove(pos, pattern.Length).Insert(pos, replacement)
           
  -/// Appends a text
  -let inline append s (builder:StringBuilder) = builder.Append(sprintf "\"%s\" " s)
  -
  -/// Appends a text if the predicate is true
  +/// Appends a text to a StringBuilder.
  +let inline append text (builder:StringBuilder) = builder.Append(sprintf "\"%s\" " text)
  +
  +/// Appends a text if the predicate is true.
   let inline appendIfTrue p s builder = if p then append s builder else builder
   
  -/// Appends a text if the predicate is false
  +/// Appends a text if the predicate is false.
   let inline appendIfFalse p = appendIfTrue (not p)
   
  -/// Appends a text if the value is not null
  +/// Appends a text if the value is not null.
   let inline appendIfNotNull (value : Object) s = 
       appendIfTrue (value <> null) (
           match value with 
           | :? String as sv -> (sprintf "%s%s" s sv)
           | _ -> (sprintf "%s%A" s value))
   
  -/// Appends a quoted text if the value is not null
  +/// Appends a quoted text if the value is not null.
   let inline appendQuotedIfNotNull (value : Object) s (builder:StringBuilder) =    
       if (value = null) then builder else (
           match value with 
  
positive.code: let inline EncapsulateApostrophe text = replace "'" "`" text
          
  /// A cache of relative path names.
  let relativePaths = new Dictionary<_,_>()
  
  /// <summary>Produces relative path when possible to go from baseLocation to targetLocation.</summary>
  
negative.code: /// Trims the given string with the DirectorySeparatorChar
  let inline trimSeparator (s:string) = s.TrimEnd Path.DirectorySeparatorChar
  
  /// Trims all special characters from a string.
  let inline trimSpecialChars (text:string) =
      text
        |> Seq.filter isLetterOrDigit
        |> Seq.filter (isUmlaut >> not)
        |> Seq.fold (fun (acc:string) c -> acc + string c) ""
  