Refactor Route#ast to use or-equals and block, instead of return with a check