I would just split this into a regular 
````
if mode ....
  [TOKENS ...]
else
  nil
end
````

If find that the `return ... if ...` hides the decision that is being made.