Check for basic integers before numbers if exponential notation 

This optimization assumes that integers will appear more frequently than numbers if exponential notation. I believe this is a reasonable assumption for common uses.

I also consolidate a few `when` clauses that all return the same value.