[tokenizer] fix case where `<` followed by whitespace doesn't parse correctly