anchor.diff:                              :object-type *object-type*)
                      token)))
       (incf (cursor-current-result cursor))
  -    future))
  -
  -(defun more (sock token)
  -  "Continue a query."
  -  (let ((future (make-future))
  -        (query (make-instance 'rdp:query))
  -        (cursor (get-cursor token)))
  -    (setf (token query) (the fixnum token)
  -          (type query) +query-query-type-continue+
  -          (cursor-future cursor) future)
  -    (alet* ((response-bytes (do-send sock (serialize-protobuf query)))
  -            (response (make-instance 'rdp:response))
  -            (size (length response-bytes)))
  -      (pb:merge-from-array response response-bytes 0 size)
  -      (handler-case
  -        (parse-response response)
  -        (error (e)
  -          (signal-error future e))))
  -    future))
  -
  -(defun stop (sock token)
  -  "Stop a query."
  -  (let ((future (make-future))
  -        (query (make-instance 'rdp:query)))
  -    (setf (token query) (the fixnum token)
  -          (type query) +query-query-type-stop+)
  -    (wait-for (do-send sock (serialize-protobuf query))
  -      (finish future))
       future))
   
   (defun test (query-form)
  
positive.code:           (parse-response response)
            (error (e)
              (signal-error future e))))
        ;; forward all errors while sending yo our run future
        (error (e)
          (signal-error future e)))
      (setf (cursor-state cursor) :sent)
      (values future token)))
  
  (defun next (sock cursor)
    "Grab the next result from a cursor. Returns a future since it may have to
     get more results from the server."
    (let ((future (make-future))
          (num-results (length (cursor-results cursor)))
          (cur-result (cursor-current-result cursor))
  
negative.code:            ;; shouldn't be here, quit calling next!
             )
            ((= cur-result num-results)
             (future-handler-case
               (alet ((new-cursor (more sock token)))
                 (finish future (next sock new-cursor)))
               (error (e) (signal-error future e))))
            (t
             (finish future (cl-rethinkdb-reql::datum-to-lisp
                              (aref (cursor-results cursor) cur-result)
  