A number of fields in the abstract syntax have descriptions with words like "does not expire if zero", "if the topic field is empty, there is no such grouping".
The description will be clearer, and easier to translate into a new concrete syntax when we decide upon one, if we use std::optional instead of "type with comment saying when it's empty".
A number of fields in the abstract syntax have descriptions with words like "does not expire if zero", "if the topic field is empty, there is no such grouping".
The description will be clearer, and easier to translate into a new concrete syntax when we decide upon one, if we use std::optional instead of "type with comment saying when it's empty".