anchor.diff:    (route "/*path" :handler 'render-page)
     (route "/forum/:|topic-name|-:topic-id"))
   
  -#|
  +|#
  
positive.code:                                   (lambda () ;; just return path for now
                                      path))))) 
      `(let ((path (concatenate 'string *route-section* ,uri)))
         (add-route% *route-table* path :to ,handler :methods ,methods :defaults ,defaults :validators ,validators)
         ,path-function)))
  
  (defun add-route (path handler)
    (add-route% *route-table* path :to handler :method :get))
  
  (defmacro root (&key handler as)
    `(route "/" :to ,handler :as ,as))
  
negative.code: (defmacro section (sub-path &body routes)
    `(let ((*route-section* (if *route-section*
                                (concatenate 'string *route-section* ,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 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
  #|
  