planning: write the lexer return a token stream: [token kind] : [actual token] Notes (for me) std::optional is cpp17 - also contextually converts into bool std::string_view is also cpp17 write the parser