hash-table-equal? ftl added by DerGuteMoritz on Wed Sep 12 22:38:36 2012

(define (hash-table-equal? a b)
  (and (= (hash-table-size a) (hash-table-size b))
       (let ((missing (list)))
         (call/cc
          (lambda (result)
            (hash-table-for-each
             a
             (lambda (k va)
               (let ((vb (hash-table-ref/default b k missing )))
                 (when (or (eq? missing vb) (not (equal? va vb)))
                   (result #f)))))
            (result #t))))))