fn do_spec<'a, Pa: ParseSource<'a>, T: FromLaTeXToken<'a, Pa::Pos, Pa::Str>, Err: FnMut(String, SourceRange<Pa::Pos>, DiagnosticLevel), State: ParserState<'a, Pa, T, Err>>(
spec: &str,
m: &mut Macro<'a, Pa::Pos, Pa::Str>,
parser: &mut LaTeXParser<'a, Pa, T, Err, State>,
)