anchor.diff:  
   (defmacro make-iterator (&key (start 0) (length -1) (inc 1) (id #'identity) (cyclic nil)
                              (initial-contents ()) (from-end nil) (initial-element nil))
  -  `(let ((tmp (make-instance 'iterator :start ,start
  +  `(let ((tmp (make-instance 'iterator :start (or ,start 0)
  +                             ;; TODO: length, which also acts as the
  +                             ;; end of the iteration, should not necessarily
  +                             ;; be the end of the sequence as one also
  +                             ;; might have to iterate over
  +                             ;; subsequences, in that case a bound
  +                             ;; check will also be required?
                                :length (if (null ,initial-contents)
                                            ,length
                                            (1- (length ,initial-contents)))
  
positive.code:            :do-sequence-iterators
             :do-sequence-iterators*
             :dosequences*
             :dosequence))
  
  (in-package :cl-iterators)
  
  
negative.code:    (initial-element :initform nil :initarg :initial-element
                      :documentation "When supplied and no initial-contents supplied, iteration returns the value instead of the index")
     (bound-check :initform #'<= :initarg :from-end
                  :documentation "When T, direction of iteration is from-end")
     (comparer :initform #'nth
               :documentation "Function to access to individual members of a initial-contents, #'nth for lists, #'elt for others")))
  
  