anchor.diff:          member __.UnacceptableHandler = unacceptableHandler
               
   
  -/// **Description**
  +/// <summary>
  +/// An implementation of INegotiationConfig which allows returning JSON only.
   ///
  -/// An implementation of `INegotiationConfig` which allows returning JSON only.
  +/// Supported mime types:
   ///
  -/// **Supported mime types**
  -///
  -/// `*/*`: If a client accepts any content type then the server will return a JSON response.
  -/// `application/json`: Server will send a JSON response.
  -///
  +/// */*: If a client accepts any content type then the server will return a JSON response.
  +/// application/json: Server will send a JSON response.
  +/// </summary>
   type JsonOnlyNegotiationConfig() =
       interface INegotiationConfig with
           member __.Rules =
  
positive.code:     fun (_ : HttpFunc) (ctx : HttpContext) ->
          ctx.NegotiateWithAsync negotiationRules unacceptableHandler responseObj
  
  /// **Description**
  ///
  /// Sends a response back to the client based on the request's `Accept` header.
  ///
  /// The negotiation rules as well as a `HttpHandler` for unacceptable requests can be configured in the ASP.NET Core startup code by registering a custom class of type `INegotiationConfig`.
  ///
  /// **Parameters**
  ///
  /// `responseObj`: The object to send back to the client.
  ///
  /// **Output**
  ///
  /// A Giraffe `HttpHandler` function which can be composed into a bigger web application.
  ///
  let negotiate (responseObj : obj) : HttpHandler =
      fun (_ : HttpFunc) (ctx : HttpContext) ->
          ctx.NegotiateAsync responseObj
negative.code:             else
                  negotiationRules.[mimeType.MediaType.Value] responseObj earlyReturn this
  
      /// <summary>
      /// Sends a response back to the client based on the request's Accept header.
      ///
      /// The negotiation rules as well as a <see cref="HttpHandler" /> for unacceptable requests can be configured in the ASP.NET Core startup code by registering a custom class of type <see cref="INegotiationConfig"/>.
      /// </summary>
      /// <param name="responseObj">The object to send back to the client.</param>
      /// <returns>Task of Some HttpContext after writing to the body of the response.</returns>
      member this.NegotiateAsync (responseObj : obj) =
          let config = this.GetService<INegotiationConfig>()
          this.NegotiateWithAsync config.Rules config.UnacceptableHandler responseObj
  