anchor.diff:  (defun set-action-group (action-name group)
     (= (cddr (assoc action-name *actions*)) group))
   
  -(defun symbol-component (x)
  -  (? (symbol? x)
  -     (string-downcase (symbol-name x))
  -     (string x)))
  -
  -(defun symbol-components (x)
  -  (filter #'symbol-component (tree-list x)))
  +(defun symbols-components (x)
  +  (filter [? (symbol? _)
  +             (string-downcase (symbol-name _))
  +             (string _)]
  +          (tree-list x)))
   
   (defun components-path (x)
  -  (apply #'+ (pad (symbol-components x) "/")))
  +  (apply #'+ (pad (symbols-components x) "/")))
   
   (defun action-url (&optional (components t) &key (remove nil) (update nil) (add nil) (params nil))
     (= components (? (t? components)
  
positive.code:   (& (t? params)
       (= params (request-data)))
    (+ *base-url* "/" (components-path components) (url-assignments-tail (pairlist (carlist params)
                                                                                   (symbol-components (cdrlist params))))))
  
  (defun component-action (x)
    (assoc x *actions*))
  
negative.code:   (= *components* nil)
    (call-url-actions-0 (| (remove-if #'empty-string? (request-path-components))
                           *home-components*)))
  