Am So., 12. Nov. 2023 um 06:39 Uhr schrieb John Cowan <xxxxxx@ccil.org>:
1.  The use of $ in the examples is confusing. It should have a semantically meaningful name.

I will add a comment saying the convention is to add $ as a prefix to syntactic monads.  As long as a syntactic monad is only used locally, it is okay to choose the empty postfix (in the sense that one can name a local variable standing for a natural number just by n).

2. let* should be added as a special case of let*-values.

It does not make sense.  That only a single state variable is present is a non-interesting edge case.
 
3. Consider adding let-values and let (distinct from named-let) to allow non-recursive binding.

Let does not make sense for the same reason; let-values does not make much sense for a single syntactic monad.
 
4. Black-on-gray is hard to read.

I will try to make the grey lighter.