I would probably do a `while` loop instead of a tail recursive call (and group both methods), it's usually faster and avoid maximum call stack size error - also keeps consistency since most of the helpers [uses `while` loops](https://github.com/ruyadorno/esformatter/blob/3d01a962d0d448427893d8f6d627057d5f9034bf/lib/util/token.js#L160-L170).