anchor.diff:                  do! serializer.SerializeToStreamAsync dataObj this.Response.Body
               return Some this
           }
  -
  -    /// **Description**
  -    ///
  +    
  +    /// <summary>
       /// Serializes an object to XML and writes the output to the body of the HTTP response.
  -    ///
  -    /// It also sets the HTTP `Content-Type` header to `application/xml` and sets the `Content-Length` header accordingly.
  -    ///
  -    /// The JSON serializer can be configured in the ASP.NET Core startup code by registering a custom class of type `IXmlSerializer`.
  -    ///
  -    /// **Parameters**
  -    ///
  -    /// `dataObj`: The object to be send back to the client.
  -    ///
  -    /// **Output**
  -    ///
  -    /// Task of `Some HttpContext` after writing to the body of the response.
  -    ///
  +    /// It also sets the HTTP Content-Type header to application/xml and sets the Content-Length header accordingly.
  +    /// The JSON serializer can be configured in the ASP.NET Core startup code by registering a custom class of type <see cref="IXmlSerializer"/>.
  +    /// </summary>
  +    /// <param name="dataObj">The object to be send back to the client.</param>
  +    /// <returns>Task of Some HttpContext after writing to the body of the response.</returns>
       member this.WriteXmlAsync (dataObj : obj) =
           this.SetContentType "application/xml; charset=utf-8"
           let serializer = this.GetXmlSerializer()
           serializer.Serialize dataObj
           |> this.WriteBytesAsync
   
  -    /// **Description**
  -    ///
  +    /// <summary>
       /// Reads a HTML file from disk and writes its contents to the body of the HTTP response.
  -    ///
  -    /// It also sets the HTTP header `Content-Type` to `text/html` and sets the `Content-Length` header accordingly.
  -    ///
  -    /// **Parameters**
  -    ///
  -    /// `filePath`: A relative or absolute file path to the HTML file.
  -    ///
  -    /// **Output**
  -    ///
  -    /// Task of `Some HttpContext` after writing to the body of the response.
  -    ///
  +    /// It also sets the HTTP header Content-Type to text/html and sets the Content-Length header accordingly.
  +    /// </summary>
  +    /// <param name="filePath">A relative or absolute file path to the HTML file.</param>
  +    /// <returns>Task of Some HttpContext after writing to the body of the response.</returns>
       member this.WriteHtmlFileAsync (filePath : string) =
           task {
               let filePath =
  
positive.code: // ---------------------------
  
  type HttpContext with
      /// **Description**
      ///
      /// Writes a byte array to the body of the HTTP response and sets the HTTP `Content-Length` header accordingly.
      ///
      /// **Parameters**
      ///
      /// `bytes`: The byte array to be send back to the client.
      ///
      /// **Output**
      ///
      /// Task of `Some HttpContext` after writing to the body of the response.
      ///
      member this.WriteBytesAsync (bytes : byte[]) =
          task {
              this.SetHttpHeader HeaderNames.ContentLength bytes.Length
  
negative.code:             return Some this
          }
  
      /// <summary>
      /// Writes an UTF-8 encoded string to the body of the HTTP response and sets the HTTP Content-Length header accordingly.
      /// </summary>
      /// <param name="str">The string value to be send back to the client.</param>
      /// <returns>Task of Some HttpContext after writing to the body of the response.</returns>
      member this.WriteStringAsync (str : string) =
          this.WriteBytesAsync(Encoding.UTF8.GetBytes str)
  
      /// <summary>
      /// Writes an UTF-8 encoded string to the body of the HTTP response and sets the HTTP `Content-Length` header accordingly, as well as the `Content-Type` header to `text/plain`.
      /// </summary>
      /// <param name="str">The string value to be send back to the client.</param>
      /// <returns>Task of Some HttpContext after writing to the body of the response.</returns>
      member this.WriteTextAsync (str : string) =
          this.SetContentType "text/plain; charset=utf-8"
          this.WriteStringAsync str
  
      /// <summary>
      /// Serializes an object to JSON and writes the output to the body of the HTTP response.
      /// It also sets the HTTP Content-Type header to application/json and sets the Content-Length header accordingly.
      /// The JSON serializer can be configured in the ASP.NET Core startup code by registering a custom class of type <see cref="IJsonSerializer"/>
      /// </summary>
      /// <param name="dataObj">The object to be send back to the client.</param>
      /// <returns>Task of Some HttpContext after writing to the body of the response.</returns>
      member this.WriteJsonAsync<'T> (dataObj : 'T) =
          this.SetContentType "application/json; charset=utf-8"
          let serializer = this.GetJsonSerializer()
          serializer.SerializeToBytes dataObj
          |> this.WriteBytesAsync
  
      /// <summary>
      /// Serializes an object to JSON and writes the output to the body of the HTTP response using chunked transfer encoding.
      /// It also sets the HTTP Content-Type header to application/json and sets the Transfer-Encoding header to chunked.
      /// The JSON serializer can be configured in the ASP.NET Core startup code by registering a custom class of type <see cref="IJsonSerializer"/>.
      /// </summary>
      /// <param name="dataObj">The object to be send back to the client.</param>
      /// <returns>Task of Some HttpContext after writing to the body of the response.</returns>
      member this.WriteJsonChunkedAsync<'T> (dataObj : 'T) =
          task {
              // Don't set the Transfer-Encoding to chunked manually.  If we do, we'll have to do the chunking manually
  