anchor.diff:      | AllConditionsMet
   
   type EntityTagHeaderValue with
  -    /// **Description**
  -    ///
  -    /// Creates an object of type `EntityTagHeaderValue`.
  -    ///
  -    /// **Parameters**
  -    ///
  -    /// `isWeak`: The difference between a regular (strong) ETag and a weak ETag is that a matching strong ETag guarantees the file is byte-for-byte identical, whereas a matching weak ETag indicates that the content is semantically the same. So if the content of the file changes, the weak ETag should change as well.
  -    /// `eTag`: The entity tag value (without quotes or the `W/` prefix).
  -    ///
  -    /// **Output**
  -    ///
  -    /// Returns an object of `EntityTagHeaderValue`.
  -    ///
  +    /// <summary>
  +    /// Creates an object of type <see cref="EntityTagHeaderValue"/>.
  +    /// </summary>
  +    /// <param name="isWeak">The difference between a regular (strong) ETag and a weak ETag is that a matching strong ETag guarantees the file is byte-for-byte identical, whereas a matching weak ETag indicates that the content is semantically the same. So if the content of the file changes, the weak ETag should change as well.</param>
  +    /// <param name="eTag">The entity tag value (without quotes or the W/ prefix).</param>
  +    /// <returns>Returns an object of <see cref="EntityTagHeaderValue"/>.</returns>
       static member FromString (isWeak : bool) (eTag : string) =
           let eTagValue = sprintf "\"%s\"" eTag
           EntityTagHeaderValue(StringSegment(eTagValue), isWeak)
  
positive.code: // HttpHandler functions
  // ---------------------------
  
  /// **Description**
  ///
  /// Validates the following conditional HTTP headers of the request:
  ///
  /// `If-Match`
  /// `If-None-Match`
  /// `If-Modified-Since`
  /// `If-Unmodified-Since`
  ///
  /// If the conditions are met (or non existent) then it will invoke the `next` http handler in the pipeline otherwise it will return a `304 Not Modified` or `412 Precondition Failed` response.
  ///
  /// **Parameters**
  ///
  /// `eTag`: Optional ETag. You can use the static `EntityTagHeaderValue.FromString` helper method to generate a valid `EntityTagHeaderValue` object.
  /// `lastModified`: Optional `DateTimeOffset` object denoting the last modified date.
  ///
  /// **Output**
  ///
  /// A Giraffe `HttpHandler` function which can be composed into a bigger web application.
  ///
  let validatePreconditions (eTag           : EntityTagHeaderValue option)
                            (lastModified   : DateTimeOffset option) : HttpHandler =
      fun (next : HttpFunc) (ctx : HttpContext) ->
  
negative.code:         |> ifNotSpecified (this.ValidateIfUnmodifiedSince lastModified)
          |> bind (this.ValidateIfNoneMatch eTag)
          |> ifNotSpecified (this.ValidateIfModifiedSince lastModified)
     
      /// <summary>
      /// Sends a default HTTP 304 Not Modified response to the client.
      /// </summary>
      /// <returns></returns>
      member this.NotModifiedResponse() =
          this.SetStatusCode StatusCodes.Status304NotModified
          Some this
  
      /// <summary>
      /// Sends a default HTTP 412 Precondition Failed response to the client.
      /// </summary>
      /// <returns></returns>
      member this.PreconditionFailedResponse() =
          this.SetStatusCode StatusCodes.Status412PreconditionFailed
          Some this
  