anchor.diff:      (when matched-p
         (values (nreverse binds) t))))
   
  -(defun match-search (pattern tree matched-fn)
  +(defun match-search (pattern tree matched-fn &optional (ncdr 0) footprints)
     (multiple-value-bind (binds matched-p)
         (match pattern tree)
       (when matched-p
  -      (funcall matched-fn tree binds)))
  +      (funcall matched-fn tree binds (reverse footprints))))
     (when (consp tree)
  -    (match-search pattern (car tree) matched-fn)
  -    (match-search pattern (cdr tree) matched-fn)))
  +    (match-search pattern
  +		  (car tree)
  +		  matched-fn
  +		  0
  +		  (cons ncdr footprints))
  +    (match-search pattern
  +		  (cdr tree)
  +		  matched-fn
  +		  (1+ ncdr)
  +		  footprints)))
   
   (defun clep-file-internal (pattern filename)
     (with-open-file (in filename)
  
positive.code: (defun clep-sexp (pattern x)
    (let ((acc))
      (match-search pattern x
                    #'(lambda (tree binds)
                        (push (list tree binds) acc)))
      (nreverse acc)))
  
negative.code:         :for x := (read in nil eof-value)
          :until (eq x eof-value)
          :do (match-search pattern x
                            #'(lambda (tree binds footprints)
                                (push (list filename
                                            form-count
                                            tree
  					  binds
  					  footprints)
                                      acc))))
        (nreverse acc))))
  
  