anchor.diff:  /// Filters an incoming HTTP request based on the request path (case insensitive).
   let routeCi (path : string) =
       fun (ctx : HttpHandlerContext) ->
  -        if String.Equals(getRalativePath ctx.HttpContext, path, StringComparison.CurrentCultureIgnoreCase)
  +        if String.Equals(getPath ctx.HttpContext, path, StringComparison.CurrentCultureIgnoreCase)
           then Some ctx
           else None
           |> async.Return
  
positive.code:         ctx.HttpContext.Response.Clear()
          async.Return (Some ctx)
  
  let private getRoute (ctx:HttpContext) =
      if ctx.Items.ContainsKey RouteKey
      then
          let x = ctx.Items.Item RouteKey |> string 
          if String.IsNullOrEmpty x then None else Some x 
      else None
  
  let private getRalativePath (ctx:HttpContext) =
      match getRoute ctx with
      | Some route -> ctx.Request.Path.ToString().[route.Length..]
      | None -> ctx.Request.Path.ToString()
  
  /// Filters an incoming HTTP request based on the request path (case sensitive).
  let route (path : string) =
      fun (ctx : HttpHandlerContext) ->
          if (getRalativePath ctx.HttpContext).Equals path
          then Some ctx
          else None
          |> async.Return
  
negative.code: /// route matches and subsequently passed into the supplied routeHandler.
  let routeCif (route : StringFormat<_, 'T>) (routeHandler : 'T -> HttpHandler) =
      fun (ctx : HttpHandlerContext) ->
          tryMatchInput route (getPath ctx.HttpContext) true
          |> function
              | None      -> None |> async.Return
              | Some args -> routeHandler args ctx
  