Philosophical coding question. In #Racket (as with other #Scheme-based languages) it's common for procedures to return #f (false) to indicate failure. So the following one-liner is occasionally useful for simplifying code that deals with the output of such procedures:
(define (opt-map proc arg [default #f])
(if arg (proc arg) default))
But as written, this still returns #f, rather than the given default, if arg is not #f but (proc arg) is. The question is, is this a good or a bad thing?