anchor.diff:                          ((proper-list-p mnode) next-level)
                           (t (list mnode))))
                   ((invalid-p mnode)
  -                 (booking-as-lost rroute bnode))))))))
  +                 (booking-as-lost rroute bnode cont))))))))
   
   (defun refnode-p (node refmark)
     (and (proper-list-p node) (eq (car node) refmark)))
  
positive.code:                  (acond ((equal mnode bnode)
                           (booking-as-ref rroute bnode cont))
                          ((find-ref-candidates mnode rroute allowed-distance base)
                           (list (booking-as-lost rroute bnode)
                                 (booking-as-ref it mnode cont rroute)))
                          ((and (not (proper-list-p bnode)) (not (proper-list-p mnode)))
                           (list (booking-as-lost rroute bnode)
                                 mnode))
                          (t next-level)))
                  ((invalid-p bnode)
  
negative.code: 
  (defun collect-partly-bookings (route book)
    (remove-if-not #'(and (funcall a0 :valid?)
                          (start-with route (funcall a0 :birthplace)))
                   book))
  
  (defun check-booking (rroute basebook)
  