9:19:30beachThere are only a few type specifiers that are nontrivial, like FUNCTION and VALUES. The others are fairly straightforward, and most of them, even the compound ones, can probably be skipped, since the entire type specifier will usually fit on a line.
9:23:30beachNOT takes a single type specifier as an argument, and CONS takes 0, 1, or 2, but I can use the same code for those as for AND and OR, because it is not the role of the indentation code to check the syntax.