anchor.diff:      (let ((i 0))
         (lambda ()
           (if (< i (length s))
  -            (values (elt s (post-incf i)) t)
  +            (values (elt s (finc i)) t)
               (end-iteration)))))
   
     (:method ((a array))
  
positive.code:            #: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."))
  
negative.code: (uiop:define-package :liter/base
    (:use :cl :iterate)
    (:import-from :serapeum
                  #:define-do-macro
                  #:finc)
    (:export #:get-iterator
             #:make-hash-key-iterator
             #:make-hash-value-iterator
  