anchor.diff:  /// XML serializer
   type XmlSerializer() =
   
  -    static member DeserializeFromString<'T> input : 'T =
  +    /// UTF-8 encoding without BOM
  +    static let utf8encoding = UTF8Encoding(false)
  +
  +    /// Deserialize the input string into the specified type
  +    static member DeserializeFromString<'T> input =
           if empty input then Unchecked.defaultof<'T> else
               try
                   let reader = Deserializer.getReaderFunc typeof<'T>
  
positive.code:         Serializer.writeType writer element
          sb.ToString()
  
  
negative.code:             with
              | :? SharpXmlException -> Unchecked.defaultof<'T>
  
      /// Deserialize the input reader into the specified type
      static member DeserializeFromReader<'T> (reader : TextReader) =
          XmlSerializer.DeserializeFromString<'T>(reader.ReadToEnd())
  
      /// Deserialize the input stream into the specified type
      static member DeserializeFromStream<'T> (stream : Stream) =
          use reader = new StreamReader(stream, utf8encoding)
          XmlSerializer.DeserializeFromString<'T>(reader.ReadToEnd())
  
      /// Serialize the given object into a XML string
      static member SerializeToString<'T> (element : 'T) =
          let sb = StringBuilder()
          use writer = new StringWriter(sb, CultureInfo.InvariantCulture)
  