(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)
    (cond [(null? rel) 0]
	  [else
	   (+ (if (eq? (caar rel) (cadar rel))
		  1
		  0)
	      (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)))))