anchor.diff:    (let* ((len (length vec))
   	 (out (make-array len :initial-element 0)))
       (loop for i from 0 to (1- len) do
  -	 (let* ((sign (if (>= (aref vec i) 0) 1 -1))
  +	 (let* ((sign (signum (aref vec i)))
   		(abs-value (abs (aref vec i)))
   		(temp (- abs-value param)))
  -	   (set (aref out i) (* sign (/ (+ temp (abs temp)) 2)))))
  +	   (setf (aref out i) (* sign (/ (+ temp (abs temp)) 2)))))
       out))
   
   ;;; Untested.
  
positive.code: 						   x-i)))
  	   (if (<= (norm residual) (* err vnorm))
  	       (go done))))
      ;; No way to assign a list to a vector... FIXME
      (setf (sparse-vector-values out) x-i
  	  (sparse-vector-index out) active)
      out))
  
negative.code: 	 (out (make-array len :initial-element 0))
  	 (erf-vec (erf vec)))
      (loop for i from 0 to (1- len) do
  	 (setf (aref out i) (- 1 (aref erf-vec i))))
      out))
  
  ;;; Transcript into Lisp...
  (defun fdrthresh (vec param)
    "Get the fdr threshold of VEC with PARAM."
  