I propose a minor tweak that simplifies the spec and enables minor capabilities.
Currently the spec has an "initial_indent_no_bang" and an "initial_indent_with_bang", but I think that should be simplified to just "initial_indent" and make it legal wherever initial_indent_no_bang currently is allowed.
One problem is that currently, when we want to discuss initial indents, we cannot use "!". Text without "!" is problematic on transports that throw away initial whitespace, yet this is the very problem "!" is designed to solve. So I'd like to make this legal:
! ! (f a) (g b)
This would also make the spec and implementation a little simpler.
Lines with ONLY indent characters, but include "!", would be an error, to prevent confusion. (Otherwise they'd be interpreted as the end of an expression, which some might find surprising.)
Any objections?
--- David A. Wheeler