Код Ревью

Сравни свои решения

    #| BEGIN (Write your solution here) |#
(require racket/set)

(define (count-pairs x)
  (let ([visited (mutable-seteq)])
    (let loop ([node x])
      (if (or (not (pair? node))
              (set-member? visited node))
          0
          (begin (set-add! visited node)
                 (+ (loop (car node)) (loop (cdr node)) 1))))))
#| END |#