Switch to using strongly-typed enum for return codes.
Early exit.
Simplified checking against multiple Token kinds using variadic templates.