anchor.diff:      
       /// Handler base class which exposes common Http Handler functionality
       [<AbstractClass>]
  -    type HttpHandlerBase<'T, 'U when 'T :> DtoBase>(?properties0 : HttpHandlerProperties, ?defaultValueSetter : 'T -> 'T) = 
  -        member __.Properties = defaultArg properties0 HttpHandlerProperties.OnlineIndex
  -        
  -        member __.HasBody = 
  -            if typeof<'T> = typeof<unit> then false
  -            else true
  -        
  +    type HttpHandlerBase<'T, 'U when 'T :> DtoBase>(?failOnMissingBody : bool, ?validateBody : bool) = 
  +        member __.HasBody = typeof<'T> = typeof<NoBody>
  +        member this.FailOnMissingBody = defaultArg failOnMissingBody this.HasBody
  +        member this.ValidateBody = defaultArg validateBody false
           member __.DeSerialize(request : IOwinRequest) = getRequestBody<'T> (request)
           
           member __.SerializeSuccess (response : 'U) (successStatus : HttpStatusCode) (owinContext : IOwinContext) = 
  
positive.code:               SubResId = subResId
                OwinContext = owinContext }
      
      type ResponseContext<'T> = 
          | SomeResponse of responseBody : Choice<'T, Error> * successCode : HttpStatusCode * failureCode : HttpStatusCode
          | SuccessResponse of responseBody : 'T * successCode : HttpStatusCode
  
negative.code:             match response with
              | Choice1Of2(r) -> owinContext |> this.SerializeSuccess r successStatus
              | Choice2Of2(r) -> owinContext |> this.SerializeFailure r failureStatus
          
          abstract Process : request:RequestContext * body:'T option -> ResponseContext<'U>
      
  