anchor.diff:      let onError = new Event<exn>()
   
       let apply resources subscriptions name uriTemplate (allowedMethods: HttpMethod list) =
  -        let resource = new Resource<'TRequest, 'TResponse>(uriTemplate, allowedMethods, getRequestMethod, methodNotAllowedHandler)
  +        let resource = new Resource<'TRequest, 'TResponse>(uriTemplate, allowedMethods, getRequestMethod, send, methodNotAllowedHandler)
           let resources' = (name, resource) :: resources
           let subscriptions' = resource.Connect(x, uriMatcher) :: subscriptions
           resources', subscriptions'
  
positive.code:                     match handlers |> List.tryFind (fun (m, _) -> m = getRequestMethod request) with
                      | Some (_, h) -> h request
                      | None -> methodNotAllowedHandler allowedMethods request
                  do out.WriteByte(0uy) // TODO: write the response to the out stream
                  return! loop handlers
              | SetHandler(httpMethod, handler) ->
                  let handlers' =
  
negative.code:     | Shutdown
  
  /// An HTTP resource agent.
  type Resource<'TRequest, 'TResponse> private (uriTemplate, allowedMethods, handlers, getRequestMethod, send, methodNotAllowedHandler) =
      let onError = new Event<exn>()
      let agent = Agent<ResourceMessage<'TRequest, 'TResponse>>.Start(fun inbox ->
          let rec loop handlers = async {
  