anchor.diff:  ;;; it's not used. Thus, I decided to save them to this file.
   (defmacro in (obj &rest choices)
     (with-gensyms (insym)
  -                `(let ((,insym ,obj))
  -                   (or ,@(mapcar (lambda (c) `(eql ,insym ,c)) choices)))))
  +    `(let ((,insym ,obj))
  +       (or ,@(mapcar (lambda (c) `(eql ,insym ,c)) choices)))))
   
   (defmacro inq (obj &rest choices)
     `(in ,obj ,@(mapcar (lambda (c) `',c) choices)))
   
   (defmacro in-if (fn &rest choices)
     (with-gensyms (fn-var)
  -                `(let ((,fn-var ,fn))
  -                   (or ,@(mapcar (lambda (c) `(funcall ,fn-var ,c)) choices)))))
  +    `(let ((,fn-var ,fn))
  +       (or ,@(mapcar (lambda (c) `(funcall ,fn-var ,c)) choices)))))
   
   (defmacro curry (fn)
     " curry fn => function;{{{
  
positive.code: ;;;    (remove nil (mapcar (lambda (x idx) (if (pred (funcall key x)) idx nil)) lst (iota (length lst))))))
  ;;;
  ;;; 22 Dec, 2010 chiku
  ;;; I revised the definition. This version works not only for list but also for general sequence.
  (defun position-list (item seq &key (key #'identity) (test #'eql))
    (labels ((rec (s acc)
                  (let ((pos (position item s :key key :test test)))
  
negative.code: ;;; This function behaves same as GROUP, but works for any sequence.
  (defun seqgroup (seq n)
    (labels ((rec (s a)
               (if (/= 0 (length s))
                 (rec (subseq s (min n (length s)))
                      (cons (subseq s 0 (min n (length s))) a))
                 (nreverse a))))
      (rec seq nil)))
  
  ;;; COMPOSE function;{{{
  