(define (next-child nr-daughters)
  (cond
   ((= nr-daughters 4) 'only-daughters)
   ((eq? 'no-child
     (choose '((child . 4/5) (no-child . 1/5))))
    (if (= nr-daughters 0)
        'no-children
        'only-daughters))
   (#t
    (let ((gender (choose '((male . 1/2) (female . 1/2)))))
      (if (eq? gender 'male)
          nr-daughters
          (next-child (+ 1 nr-daughters)))))))

(print (probabilities (next-child 0)))

;; Result:
;; ((no-children . 1/5)
;;  (only-daughters . 94/625)
;;  (3 . 16/625)
;;  (2 . 8/125)
;;  (1 . 4/25)
;;  (0 . 2/5))