anchor.diff:  type ErrorHandler = exn -> HttpHandler
   
   /// ---------------------------
  -/// Private helper functions
  -/// ---------------------------
  -
  -/// Logging
  +/// Logging helper functions
  +/// ---------------------------
   
   let private getRequestInfo ctx =
       (ctx.HttpContext.Request.Protocol,
        ctx.HttpContext.Request.Method,
        ctx.HttpContext.Request.Path.ToString())
  -    |||> sprintf "%s %s %s" 
  -
  -let private logDebug ctx msg =
  -    (getRequestInfo ctx, msg)
  -    ||> sprintf "%s %s"
  -    |> ctx.Logger.LogDebug
  -
  -/// Sub route handling
  +    |||> sprintf "%s %s %s"
  +// let private logResult (msg    : string)
  +//                       (ctx    : HttpHandlerContext)
  +//                       (result : HttpHandlerContext option) =
  +//     if ctx.Logger.IsEnabled LogLevel.Debug then
  +//         match result with
  +//         | Some ctx  -> sprintf "passed %s" msg
  +//         | None      -> sprintf "failed %s" msg
  +//         |> sprintf "%s %s" (getRequestInfo ctx)
  +//         |> ctx.Logger.LogDebug
  +//     result
  +
  +let private logDebug (ctx : HttpHandlerContext)
  +                (msg : string) =
  +    
  +    if ctx.Logger.IsEnabled LogLevel.Debug then
  +        sprintf "%s %s" (getRequestInfo ctx) msg
  +        |> ctx.Logger.LogDebug
  +
  +/// ---------------------------
  +/// Sub route helper functions
  +/// ---------------------------
   
   [<Literal>]
   let private RouteKey = "aspnet_lambda_route"
  
positive.code:     fun (ctx : HttpHandlerContext) ->
          let user = ctx.HttpContext.User
          if user.IsInRole role
          then async.Return (Some ctx)
          else authFailedHandler ctx
  
  /// Validates if a user has at least one of the specified roles.
  
negative.code:         |> Seq.map    (fun h -> h.ToString())
          |> Seq.exists (fun h -> mimeTypes |> Seq.contains h)
          |> function
              | true  ->
                  logDebug ctx "passed mustAccept handler"
                  Some ctx
              | false -> None
              |> async.Return
  
  /// Challenges the client to authenticate with a given authentication scheme.
  let challenge (authScheme : string) =
  