I'm a big fan of Rhombus' "macros without parentheses", and would love to implement it for my language. Unfortunately, shrubbery notation is just too damn hard to parse correctly, even with a fair number of simplifications. I would have really appreciated some pointers from the paper and documentation about some high-level strategies. Yes, I could technically just use #lang shrubbery, but I'd like to use it outside of racket too

The shrubbery grouping rules are very subtle. Namely, the relationship between newlines, indentation, separators, and opener-closer pairs get really crazy. (1,\n 2, 3), (\n1, 2, 3) (1:\n 2,\n 3) work, but (1,\n2,3) does not.

The documentation does not help too much either here because unlike the tokenization guide, the guide about grouping is mostly informal prose.