/// Parses one function argument from `input`. Each argument to a macro
/// function is one of:
///
- /// - A quoted string or other single literal token.
+ /// - A quoted string or other single literal token.
///
- /// - An argument to the macro being expanded, e.g. `!1` or a named
- /// argument.
+ /// - An argument to the macro being expanded, e.g. `!1` or a named
+ /// argument.
///
- /// - `!*`.
+ /// - `!*`.
///
- /// - A function invocation.
+ /// - A function invocation.
///
/// Each function invocation yields a character sequence to be turned into a
/// sequence of tokens. The case where that character sequence is a single