anchor.diff:  ;;; utils
   
   (defmacro iterate-elements (selector &body body)
  -  "Iterate over web elements of QWebFrame, binding ELEMENT to the current QWebElement."
  +  "Iterate over web elements of QWebFrame, binding H:ELEMENT to the current QWebElement."
     (let ((i (gensym)))
       `(let ((elements (qrun* (! "findAllElements" (frame) ,selector))))
          (dotimes (,i (qrun* (! "count" elements)))
  
positive.code:   (when scroll-to-bottom
      (qrun* (qsingle-shot 0 'scroll-to-bottom))))
  
  (defun scroll-to-top ()
    (qrun* (! "setScrollPosition" (frame) '(0 0))))
  
  
negative.code:            ,@body)))))
  
  (defmacro iterate-child-elements (web-element selector &body body)
    "Iterate over child elements of a QWebElement, binding H:ELEMENT to the current QWebElement."
    (let ((i (gensym)))
      `(let ((elements (qrun* (! "findAll" (ensure-web-element ,web-element) ,selector))))
         (dotimes (,i (qrun* (! "count" elements)))
  