fn lex(input: &[u8]) -> Peekable<impl Iterator<Item = Result<Token<'_>, Error>>>
formatting
parsing
alloc