anchor.diff:      static member FromFile(projectFileName) = new ProjectFile(projectFileName,ReadFileAsString projectFileName)
   
       /// Saves the project file
  -    member x.Save(?fileName) = document.Save(defaultArg fileName projectFileName)
  +    member x.Save(?fileName) =
  +        use writer = new System.IO.StreamWriter(defaultArg fileName projectFileName,
  +                                                false,
  +                                                new System.Text.UTF8Encoding(false))
  +        document.Save(writer)
   
       member x.Content =
           use stringWriter = new System.IO.StringWriter()
  
positive.code:     /// Places the first file above the second file
      member x.OrderFiles file1 file2 =
          orderFiles file1 file2 projectFilesXPath
          
  
      /// The project file name
      member x.ProjectFileName = projectFileName
  
negative.code:     let orderFiles fileName1 fileName2 xPath =
          let document = XMLDoc documentContent // we create a copy and work immutable
          match getNode document xPath fileName1 with
          | Some n1 ->
              let updated = removeFile fileName1 xPath
              let updatedXml = XMLDoc updated.Content
              match getNode updatedXml xPath fileName2 with
              | Some n2 ->
                  let node = newElement updatedXml n1.Name
                  node.SetAttribute("Include", fileName1)
                  n2.ParentNode.InsertBefore(node, n2) |> ignore
  