anchor.diff:      let writeObject _ (writer : TextWriter) (value : obj) =
           writer.Write(value)
   
  -    let writeDateTime _ writer (value : obj) =
  +    let writeDateTime _ (writer : TextWriter) (value : obj) =
           let v = toShortestXsdFormat (unbox value)
  -        writeString writer v
  +        writer.Write(v)
   
       let writeNullableDateTime n writer (value : obj) =
           nullableWriter n writer value writeDateTime
   
  -    let writeDateTimeOffset _ writer (value : obj) =
  +    let writeDateTimeOffset _ (writer : TextWriter) (value : obj) =
           let v : DateTimeOffset = unbox value
  -        writeString writer (v.ToString("o"))
  +        writer.Write(v.ToString("o"))
   
       let writeNullableDateTimeOffset n writer (value : obj) =
           nullableWriter n writer value writeDateTimeOffset
   
  -    let writeGuid _ writer (value : obj) =
  +    let writeGuid _ (writer : TextWriter) (value : obj) =
           let v : Guid = unbox value
  -        writeString writer (v.ToString("N"))
  +        writer.Write(v.ToString("N"))
   
       let writeNullableGuid n writer (value : obj) =
           nullableWriter n writer value writeGuid
  
positive.code:         | true -> writer.Write("true")
          | false -> writer.Write("false")
  
      let writeDecimal _ writer (value : obj) =
          let v : decimal = unbox value
          writeString writer (v.ToString(CultureInfo.InvariantCulture))
  
      let writeEnum n writer (value : obj) =
          writeObject n writer value
  
negative.code:         elif day.Milliseconds = 0 then date.ToUniversal().ToString(xsdFormatSeconds)
          else toXsdFormat date
  
      let inline writeString (writer : TextWriter) (content : string) =
          let inline sanitize c =
              match c with
              | '<' -> writer.Write("&lt;")
  