anchor.diff:                      (jprint res))
                     (jprint res))
                 (format t "~%")))
  -          (t (e) (format t "(err) ~a~%" e)))
  +          (error (e) (format t "(err) ~a~%" e)))
           (disconnect main-sock)))))
   
  
positive.code:   "Grab ALL results from a cursor. Returns a future finished with the final
     array."
    (with-promise (resolve reject)
      (let ((token (cursor-token cursor)))
        (labels ((append-results (all-results)
                   (catcher
                     (if (eq (cursor-state cursor) :partial)
                         (wait (more sock token)
                           (append-results (cl-async-util:append-array all-results (cursor-results cursor))))
                         (resolve all-results))
                     (t (e) (reject e)))))
          (append-results (cursor-results cursor))))))
  
  (defun each (sock cursor function)
    "Call the given function on every result in the given cursor."
  
negative.code:         (catcher
            (wait (stop sock cursor)
              (resolve (disconnect sock)))
            (error (e) (reject e)))
          (resolve (disconnect sock)))))
  
  (defun next (sock cursor)
  