anchor.diff:  ;    (+ mutuals ) ) )
   
   (defun search-people (query &key (userid *userid*))
  -  (let* ((aliases (metaphone-index-query query))
  +  (let* ((aliases (remove-if-not #'alias-person-p (metaphone-index-query query)))
            (user (db userid))
            (lat (getf user :lat))
            (long (getf user :long))
  
positive.code:                      (str (people-results-html people)))
                     (htm
                       (:p "no results"))))))
              
              (t ; all
               (let ((requests (search-inventory :request q :distance (user-rdist)))
                     (offers (search-inventory :offer q :distance (user-rdist)))
                     (people (search-people q)))
  
                 (if (or requests offers people)
                   (progn
                     (when people
                       (htm
  
negative.code:               (sort aliases; (remove userid people :key #'result-id)
                      #'> :key #'person-rank)))))
  
  (defun search-groups (query &key (userid *userid*))
    (let* ((aliases (remove-if-not #'alias-group-p (metaphone-index-query query)))
           (user (db userid)) 
           (lat (getf user :lat))
           (long (getf user :long)))
      (flet ((group-rank (alias)
               (let* ((result (alias-result alias))
                      (member-count (length (db (result-id result) :members)))
                      (distance (air-distance lat long (result-latitude result) (result-longitude result))))
                 (+ (* 9 member-count)
                    (/ 50 (log (+ 4 distance) 10)))))
             (group-id (alias)
               (result-id (alias-result alias))))
  
        (mapcar #'group-id
              (sort aliases
                    #'> :key #'group-rank)))))
  
  (defun request-results-html (request-list)
    (html
      (dolist (item request-list)
  