anchor.diff:          let body =
               use is = new System.IO.StreamReader(request.InputStream, request.ContentEncoding)
               is.ReadToEnd()
  -        printfn "Path: %s" path
           let parts = split (path.[1..]) '/' // That annoying first slash...
  -        printfn "Parts: %A" parts
           // Now interpret what was received
           let result =
               match parts with
  
positive.code:                 else
                      acc
              let dst = Map.foldBack folder node.leaves node.minleaf
              printfn "PASTRY: Forwarding 'dead' call to %s" (serialize_guid dst)
              route_func node DeadNode message dst inter
      | Backup ->
          printfn "PASTRY: Backup received!"
          { node with backup = message; }, inter.state, ("Backed up!", 200)
  
      | GetState | Ping ->
  
negative.code:         }
      let notify guid address =
          match send_message address Update (serialize updated_node) guid with
          | Some(_) ->
              ()
          | None ->
              printfn "JOIN: Failed to notify %A at '%s' of update..." guid address
      Map.iter notify updated_node.leaves
      //Map.iter notify updated_node.neighbors // We don't remove these properly, so...
      List.iter (fun map_level -> Map.iter notify map_level) updated_node.routing_table
      printfn "JOIN: State after joining: %A" updated_node
      updated_node
  
  // Handles that the node closest to this on the 'bigger' side has died
  