(define (count-pairs x) (if (not (pair? x)) 0 (+ (count-pairs (car x)) (count-pairs (cdr x)) 1))) (define 3-ring '(1 2 3)) (define 4-ring (let ((last-cel (cons 'lastcar 'lastcdr))) (cons last-cel (cons last-cel '())))) (define 7-ring (let* ((third (list 3)) (second (cons third third))) (cons second second))) (define infinite-ring (let* ((third (list 3)) (first (list 1 third))) (set-cdr! third first)))