The second draft of SRFI-201 provides a new feature called "body-less lambdas/definitions": a function defined without a body becomes a predicate, which evaluates to #t if the arguments match the pattern, and to #f otherwise.
I've been thinking whether it would be a good idea to make the "let" and "let*" forms consistent with this behavior, so that e.g.
(let ((`(,x ,y) '())))
would evaluate to #f instead of raising an error.
But my fear is that, while consistent with body-less lambdas, this feature has no actual use case that wouldn't be better solved by other means, and that it could be harmful in that it could mask certain syntax errors.
What do you think?