anchor.diff:  let route
       (path     : string)
       (handler  : HttpHandler) : Endpoint =
  -    SingleEndpoint (HttpVerb.NotSpecified, path, RequestDelegateBuilder.createRequestDelegate handler)
  +    SingleEndpoint (HttpVerb.NotSpecified, path, handler)
   
   let routef
       (path         : PrintfFormat<_,_,_,_, 'T>)
       (routeHandler : 'T -> HttpHandler) : Endpoint =
       let template, mappings = RouteTemplateBuilder.convertToRouteTemplate path
  -    let requestDelegate = RequestDelegateBuilder.createTokenizedRequestDelegate mappings routeHandler
  -    SingleEndpoint (HttpVerb.NotSpecified, template, requestDelegate)
  +    let boxedHandler (o: obj) =
  +        let t = o :?> 'T
  +        routeHandler t
  +    TemplateEndpoint (HttpVerb.NotSpecified, template, mappings, boxedHandler)
   
   let subRoute
       (path      : string)
  
positive.code:     match endpoint with
      | SingleEndpoint (_, routeTemplate, requestDelegate) ->
          SingleEndpoint (verb, routeTemplate, requestDelegate)
      | NestedEndpoint (routeTemplate, endpoints) ->
          NestedEndpoint (routeTemplate, endpoints |> List.map (httpVerb verb))
  
  
negative.code:         |> List.iter(
              fun endpoint ->
                  match endpoint with
                  | SingleEndpoint (v, t, d)  ->
                      let d = RequestDelegateBuilder.createRequestDelegate d
                      this.MapSingleEndpoint (v, t, d)
                  | TemplateEndpoint(v,t, m, d) ->
                      let d = RequestDelegateBuilder.createTokenizedRequestDelegate m d
                      this.MapSingleEndpoint(v, t, d)
                  | NestedEndpoint (t, e)     -> this.MapNestedEndpoint (t, e)
          )