I'd prefer to avoid adding let-values syntax to the basic
maybe/either-let* forms. (Anecdotally, some Schemers dislike
let-values and let*-values merely because of the extra parens, and,
while procedures can always return multiple values, it's the rare
Scheme programmer who uses the multiple-value-aware forms everywhere.)
I'd also prefer to avoid mixing single- and multiple-value syntax
(à la SRFI 71, for example).
My suggestion to John was to add maybe/either-let*-values forms,
which handle (<formals> <container-expression>) claws in a way
analogous to let-values, but with the unwrapping of the value of
<container-expression>. (The (id) and ((expr)) claws have exactly
the same semantics that they do in the -let* forms.) They're simple
variations on maybe/either-let* and easy to add; programmers who
only intend to use single-valued containers can pretend they don't
exist.
Regards,
--
Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>
"Searching for fulfillment in this compact subset of existence...
My life must have a convergent subsequence somewhere... out there..."
--Abstruse Goose