;; using flatmap explicity
(bind-func div_test:[Option*,Option*,Option*]*
(lambda (a b)
(flatmap
a (lambda (n) ;; numerator
(flatmap
b (lambda (d) ;; denominator
(if (= d 0)
(None)
(Some (/ n d)))))))))