anchor.diff:            (if (puri:uri-host tmpl)
                 (setq bindings (extend-bindings :host (puri:uri-host tmpl) (or bindings +no-bindings+))))))
       (make-instance 'route
  -                   :template (apply-bindings (iter (for path in (if (puri:uri-p tmpl)
  -                                                                    (cdr (puri:uri-parsed-path tmpl))
  -                                                                    (split-template tmpl)))
  -                                                   (collect (let ((spec (parse-path path)))
  -                                                              (if (cdr spec)
  -                                                                  (make-unify-template 'unify::concat spec)
  -                                                                  (car spec)))))
  +                   :template (apply-bindings (parse-template tmpl)
                                                bindings)
                      :extra-bindings bindings
                      :conditions (plist->alist conditions))))
  
positive.code: (defun split-template (tmpl)
    (split-sequence #\/ (string-left-trim "/" tmpl)))
  
  
  (defun make-route (tmpl &key extra-bindings conditions)
    (let ((bindings (plist->alist extra-bindings)))
  
negative.code: 
  ;;; unify/impl for route
  
  (defmethod routes.unify::unify/impl ((b route) (a routes.unify::variable-template) bindings)
    (routes.unify::unify a b bindings))
    
  (defmethod routes.unify::unify/impl ((a routes.unify::variable-template) (route route) bindings)
    (let ((e-bindings (route-extend-bindings route bindings)))
      (if (route-check-conditions route e-bindings)
          (call-next-method a
  