anchor.diff:          |> List.iter (
               fun endpoint ->
                   match endpoint with
  -                | SingleEndpoint (v, t, d) ->
  -                    let d = RequestDelegateBuilder.createRequestDelegate d
  +                | SimpleEndpoint (v, t, h) ->
  +                    let d = RequestDelegateBuilder.createRequestDelegate h
                       this.MapSingleEndpoint(v, routeTemplate t, d)
  -                | TemplateEndpoint(v, t, m, d) ->
  -                    let d = RequestDelegateBuilder.createTokenizedRequestDelegate m d
  +                | TemplateEndpoint(v, t, m, h) ->
  +                    let d = RequestDelegateBuilder.createTokenizedRequestDelegate m h
                       this.MapSingleEndpoint(v, routeTemplate t, d)
                   | NestedEndpoint (t, e) ->
                       this.MapNestedEndpoint(routeTemplate t, e)
  
positive.code: type RouteTemplateMappings = list<string * char>
  
  type Endpoint =
      | SingleEndpoint of HttpVerb * RouteTemplate * HttpHandler
      | TemplateEndpoint of HttpVerb * RouteTemplate * RouteTemplateMappings * (obj -> HttpHandler)
      | NestedEndpoint of RouteTemplate * Endpoint list
  
  let inline (=>) (fx : Endpoint -> Endpoint) (x : Endpoint) = fx x
  
  
negative.code:     NestedEndpoint (path, endpoints)
  
  let rec applyBefore
      (httpHandler  : HttpHandler)
      (endpoint     : Endpoint) =
      match endpoint with
      | SimpleEndpoint(v, p, h)      -> SimpleEndpoint(v, p, httpHandler >=> h)
      | TemplateEndpoint(v, p, m, h) -> TemplateEndpoint(v, p, m, fun (o: obj) -> httpHandler >=> h o)
      | NestedEndpoint(t, lst)       -> NestedEndpoint(t, List.map (applyBefore httpHandler) lst)
  
  let rec applyAfter
      (httpHandler  : HttpHandler)
      (endpoint     : Endpoint) =
      match endpoint with
      | SimpleEndpoint(v, p, h)      -> SimpleEndpoint(v, p, h >=> httpHandler)
      | TemplateEndpoint(v, p, m, h) -> TemplateEndpoint(v, p, m, fun (o: obj) -> h o >=> httpHandler)
      | NestedEndpoint(t, lst)       -> NestedEndpoint(t, List.map (applyAfter httpHandler) lst)
  
  