anchor.diff:  (defun collatz-length (n)
     (iterate (for i :in-collatz n)
              (counting t)))
  +
  +
  +(defmacro-driver (FOR var IN-FIBONACCI _)
  +  (declare (ignore _))
  +  (with-gensyms (a b)
  +    (let ((kwd (if generate 'generate 'for)))
  +      `(progn
  +         (with ,a = 0)
  +         (with ,b = 1)
  +         (,kwd ,var :next (prog1 ,b
  +                            (psetf ,a ,b
  +                                   ,b (+ ,a ,b))))))))
  +
  +(defun fibonacci (n)
  +  "Return the first `n` Fibonacci numbers as a fresh list."
  +  (iterate (repeat n)
  +           (for i :in-fibonacci t)
  +           (collect i)))
   
   
   (defun binomial-coefficient (n k)
  
positive.code:     (sort <> #'<)
      (elt <> (1- 1000000))))
  
  
  ;;;; Tests --------------------------------------------------------------------
  (def-suite :euler)
  
negative.code: (test p22 (is (= 871198282 (problem-22))))
  (test p23 (is (= 4179871 (problem-23))))
  (test p24 (is (= 2783915460 (problem-24))))
  (test p25 (is (= 4782 (problem-25))))
  
  
  ;; (run! :euler)
  