anchor.diff:  (defmacro section (sub-path &body routes)
     `(let ((*route-section* (if *route-section*
                                 (concatenate 'string *route-section* ,sub-path)
  -                              ,sub-path)))
  +                               ,sub-path)))
        ,@routes))
   
  -(defun attach-all-routes (system)
  -  (let ((deps (get-all-deps system)))
  -    (loop for dep in (reverse deps) do
  -             (attach-system-routes dep))))
  +;; (defun attach-all-routes (system)
  +;;   (let ((deps (get-all-deps system)))
  +;;     (loop for dep in (reverse deps) do
  +;;              (attach-system-routes dep))))
   
   (defun reload-all-routes (system-name)
     (setf *route-table* (make-instance 'route-table))
     (attach-routes-packet system-name))
  +
  +(defun merge-hash-tables (&rest hash-tables)
  +  "Each subsequentional hash-table overrides existing key-values"
  +  (let ((final-hash-table (make-hash-table)))
  +    (loop for hash-table in hash-tables do
  +             (when hash-table
  +               (with-hash-table-iterator (next hash-table)
  +                 (loop
  +                   (multiple-value-bind (more? key value) (next)
  +                     (unless more?
  +                       (return))
  +                     (setf (gethash key final-hash-table) value))))))
  +    final-hash-table))
  +
  +(defun query (method uri)
  +  (let ((*routes* (route-table-routes method)))
  +    (multiple-value-bind (route parameters) (try-match-url uri)
  +      (when route
  +        (let ((defaults (route-defaults route)))
  +          (setf parameters (merge-hash-tables defaults parameters)))
  +        (values route parameters)))))
   
   ;; example
   #|
  
positive.code:   (route "/*path" :handler 'render-page)
    (route "/forum/:|topic-name|-:topic-id"))
  
  #|
  
negative.code: 
  (defun add-route-to-routes (routes path route)
    (let ((*routes* routes))
      (http-routes.routes:add-route path route)))
  
  (defun add-route% (path handler methods defaults validators)
    (unless methods
      (setf methods '(:get)))
    (let ((route (make-instance 'route
  