anchor.diff:  /// Filters an incoming HTTP request based on the request path (case insensitive).
   /// The parameters from the string will be used to create an instance of 'T
   /// and subsequently passed into the supplied routeHandler.
  -let routeBind<'T> (route: string) (routeHandler : 'T -> HttpHandler) (ctx : HttpContext) =
  -    let pattern = route.Replace("{", "(?<").Replace("}", ">.+)") |> sprintf "^%s$"
  -    let regex = Regex(pattern, RegexOptions.IgnoreCase)
  -    let mtch = regex.Match ctx.Request.Path.Value
  -    match mtch.Success with
  -    | true ->
  -        let groups = mtch.Groups
  -        let o =
  -            regex.GetGroupNames()
  -            |> Array.skip 1
  -            |> Array.map (fun x -> x, groups.[x].Value)
  -            |> Array.filter (fun (_, x) -> x.Length > 0)
  -            |> dict
  -            |> JObject.FromObject
  -            |> fun jo -> jo.ToObject<'T>()
  -        routeHandler o ctx
  -    | _ -> async.Return None
  +let routeBind<'T> (route: string) (routeHandler : 'T -> HttpHandler) : HttpHandler =
  +    fun (ctx : HttpContext) ->
  +        let pattern = route.Replace("{", "(?<").Replace("}", ">.+)") |> sprintf "^%s$"
  +        let regex = Regex(pattern, RegexOptions.IgnoreCase)
  +        let mtch = regex.Match ctx.Request.Path.Value
  +        match mtch.Success with
  +        | true ->
  +            let groups = mtch.Groups
  +            let o =
  +                regex.GetGroupNames()
  +                |> Array.skip 1
  +                |> Array.map (fun x -> x, groups.[x].Value)
  +                |> Array.filter (fun (_, x) -> x.Length > 0)
  +                |> dict
  +                |> JObject.FromObject
  +                |> fun jo -> jo.ToObject<'T>()
  +            routeHandler o ctx
  +        | _ -> async.Return None
   
   /// Filters an incoming HTTP request based on the beginning of the request path (case sensitive).
  -let routeStartsWith (subPath : string) =
  +let routeStartsWith (subPath : string) : HttpHandler =
       fun (ctx : HttpContext) ->
           if (getPath ctx).StartsWith subPath
           then Some ctx
  
positive.code: 
  /// Filters an incoming HTTP request based on the accepted
  /// mime types of the client.
  let mustAccept (mimeTypes : string list) =
      fun (ctx : HttpContext) ->
          let headers = ctx.Request.GetTypedHeaders()
          headers.Accept
  
negative.code:         }
  
  /// Filters an incoming HTTP request based on the HTTP verb
  let httpVerb (verb : string) : HttpHandler =
      fun (ctx : HttpContext) ->
          if ctx.Request.Method.Equals verb
          then Some ctx
  