anchor.diff:      (:tcp (eq :tcp (make-keyword (string-upcase thing))))
       (:udp (eq :udp (make-keyword (string-upcase thing))))))
   
  -(defun find-service (tokens predicate)
  +(defun find-service-in-parsed-lines (tokens predicate)
     (when (< (length tokens) 2) (error 'parse-error))
     (destructuring-bind (name port/proto &rest aliases) tokens
       (multiple-value-bind (port proto) (split-port/proto port/proto)
  
positive.code:                     (member service aliases :test #'string=)))))
      (iterate ((tokens (serialize-etc-file file)))
        (ignore-some-conditions (parse-error)
          (let ((proto (find-service tokens #'good-proto-p)))
            (when proto (return-from lookup-service-on-disk-by-name
                          proto)))))))
  
  
negative.code:                   (= pnum service)))))
      (iterate ((tokens (serialize-etc-file file)))
        (ignore-some-conditions (parse-error)
          (let ((proto (find-service-in-parsed-lines tokens #'good-proto-p)))
            (when proto (return-from lookup-service-on-disk-by-number
                          proto)))))))
  
  