anchor.diff:              else path
           | Unix ->
               if path = root then rootUnix
  -            else
  -                (path |> firstToLower).Replace(":", "").Insert(0, "/").Replace(@"\", "/")
  +            else (path |> firstToLower).Replace(":", "").Insert(0, "/").Replace(@"\", "/")
   
       member this.Name =
           path |> IOPath.GetFileName
  
positive.code:     static let firstToUpper = firstModify (fun s -> s.ToUpper())
      static let firstToLower = firstModify (fun s -> s.ToLower())
  
      static let normalize (pathStr: string) =
          pathStr
              .Replace("~", Path.UserDirectory)
              .Replace("/", @"\").Trim('\\')
              .Replace(":", "").Insert(1, ":")
              |> (fun s -> if s.EndsWith(":") then s + @"\" else s)
              |> firstToUpper
              |> Path
  
      static let (|PathPattern|_|) =
          let invalidChars = (IOPath.GetInvalidPathChars() |> String) + "?*"
          let pattern = sprintf @"^([a-z]:|/[a-z]|~)([/\\][^%s]*)?$" invalidChars
          let regex = Regex(pattern, RegexOptions.Compiled ||| RegexOptions.IgnoreCase)
          (fun s ->
              if regex.IsMatch(s) then
                  Some (normalize s)
              else None)
  
      static let root = ""
      static let rootWindows = "Drives"
      static let rootUnix = "/"
      static let isRoot p =
          p = root || p = rootUnix || String.Equals(p, rootWindows, StringComparison.OrdinalIgnoreCase)
  
      static member Root = Path root
      static member UserDirectory = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile);
  
      static member Parse (s: string) =
          match s.Trim() with
          | p when isRoot p -> Some (Path root)
          | PathPattern path -> Some path
          | _ -> None
  
      static member SplitName (name: string) =
  
negative.code:     override this.ToString() = sprintf "%A" this
  
  type Path private (path: string) =
      static let root = ""
      static let rootWindows = "Drives"
      static let rootUnix = "/"
  
      static let firstModify f (s: string) =
          if String.IsNullOrEmpty(s) then ""
          else
  