Allow whitespace between tokens and use more combinators