(define count-reflexive-pairs
  (lambda (rel)
    (cond [(null? rel) 0]
	  [(eq? (caar rel) (cadar rel))
	   (+ 1 (count-reflexive-pairs (cdr rel)))]
	  [else (count-reflexive-pairs (cdr rel))])))

(define count-reflexive-pairs
  (lambda (rel)
    (if (null? rel)
	0
	(let ([refl-from-cdr (count-reflexive-pairs (cdr rel))])
	  (if (eq? (caar rel) (cadar rel))
	      (+ 1 refl-from-cdr)
	      refl-from-cdr)))))


(define count-reflexive-pairs
  (lambda (rel)
    (if (null? rel)
	0
	(+ (count-reflexive-pairs (cdr rel))
	   (if (eq? (caar rel) (cadar rel))
	       1
	       0)))))