It would be better here if we made a Boolean ValueRef and passed it through - this would mean the RULE checks later on would be more effective. So new methods in Value.* will be needed:
```c
bool BooleanCreateWithBool(bool value, ValueRef& r_value);
bool BooleanGetBool(ValueRef value);
```
Then at this point, if the token is an identifier, create a Boolean ValueRef (rather than just an identifier).