anchor.diff:             #:iterator-list))
   
   (in-package :liter/base)
  -
  -(defmacro post-incf (place)
  -  "Increment PLACE and return the old value"
  -  `(prog1 ,place
  -     (incf ,place)))
   
   (define-condition iteration-ended (simple-condition) ()
     (:documentation "Condition signaled when an iterator has reached the end."))
  
positive.code:     (let ((i 0))
        (lambda ()
          (if (< i (length s))
              (values (elt s (post-incf i)) t)
              (end-iteration)))))
  
    (:method ((a array))
  
negative.code:           (len (array-total-size a)))
        (lambda ()
          (if (< i len)
              (values (row-major-aref a (finc i)) t)
              (end-iteration)))))
  
    (:method ((h hash-table))
  