Also, I find body-less binding maybe-let*(-values) still makes sense, for it can check the payload.

 (maybe-let*-values (claw ... ((a b c) expr)))

Tells that if expr evaluates to Just, its payload should have three values; handling of such an error may vary among implementations but the writer's intention is shown.

On Thu, Jul 16, 2020 at 7:55 PM Marc Nieper-Wißkirchen <> wrote:
I think it would have made very much sense to keep compatibility with
SRFI 2 and vote for reverting this change. The allowance of an empty
body doesn't cost anything and is actually what makes "and-let*" (and
"either-let*") a generalization of "and".

(and A B C) becomes (and-let* (A) (B) (C)).

(either-and A B C) becomes (either-let* (A) (B) (C))

Without an empty body, it would have to be something like (either-let*
(A) (B) (x C) x).

Am Fr., 17. Juli 2020 um 07:00 Uhr schrieb Arthur A. Gleckler
> On Thu, Jul 16, 2020 at 9:27 PM Wolfgang Corcoran-Mathe <> wrote:
>> Thanks.  Pull request opened.
> I've merged and pushed the pull request.
> Do you (or John) plan to make any clarifications to the document as well?