anchor.diff:    ((find-if #'numberp '(l i 5 p)))
     5)
   
  -(defun position (obj seq &key (start nil) (end nil) (from-end nil) (test #'eql))
  +(defun position (obj seq &key (start nil) (end nil)
  +							  (from-end nil) (test #'eql))
     (let idx nil
       (find-if #'((x i)
   				  (when (funcall test x obj)
   					(setf idx i)))
  -			 seq :start start :end end :from-end from-end :with-index t)
  +			 seq
  +			 :start start
  +			 :end end
  +			 :from-end from-end
  +			 :with-index t)
   	idx))
   
  -(define-test "POSITION works"
  +(define-test "POSITION works with character list"
     ((position 's '(l i s p)))
     2)
  +
  +(define-test "POSITION works with strings"
  +  ((position #\/ "lisp/foo/bar"))
  +  4)
   
   (defun some (pred &rest seqs)
     "OR predicate over list elements."
  
positive.code: 	   (setf ,a ,b
  	   		 ,b ,g))))
  
  (defun find-if (pred seq &key (start nil) (end nil) (from-end nil) (with-index nil))
    (let* ((e (or end (1- (length seq))))
  	 	 (s (or start 0)))
      ; Make sure the start and end indices are sane.
      (when (or (and (> s e) (not from-end))
                (and (< s e) from-end))
        (xchg s e))
      (do ((i s (if from-end
  				  (1- i)
  
negative.code:         ((if from-end
  	         (< i e)
  			 (> i e)))
  	  (let elm (memorized-elt seq i)
          (when (apply pred (cons ,elm (when with-index
  									   (list i))))
  		  (return elm))))))
   
  (defun find (obj seq &key (start nil) (end nil)
  						  (from-end nil) (test #'eql))
    "Return element in sequence."
    (find-if (fn funcall test _ obj)
  		   seq
  		   :start start
  		   :end end
  		   :from-end from-end))
  
  (define-test "FIND finds elements"
    ((find 's '(l i s p)))
  