Diagram( Optional('+', 'skip'), Choice(0, NonTerminal('name-start char'), NonTerminal('escape')), ZeroOrMore( Choice(0, NonTerminal('name char'), NonTerminal('escape'))))

- Minimum vertical separation between lines (in px)?
- Arc radius for corners (in px)?
- Average width of characters in "normal" (Terminal/NonTerminal) text (in px)?
- Average width of characters in Comment text (in px)?
- How should items be aligned when there's more space than they need?
- Is the stroke width an odd number of px? (Yes, in the default styles.)
- Output type?