When a keyword argument is left unspecified, it is initialized to #f. This can get weird for optional boolean arguments. For example:<br><br>Example:<br><br>> (define (my-func #!key bool-arg) (if bool-arg bool-arg "bool-arg unspecified"))<br>

> (my-func bool-arg: #t)<br>#t<br>> (my-func)<br>"bool-arg unset"<br>> (my-func bool-arg: #f)<br>"bool-arg unset"<br><br> Is there any way to distinguish between keyword arguments that were never set, and keyword arguments that were set to #f?<br>