It's strange that they are using a version of "and" and "or" that doesn't short-circuit the evaluation. They have macros, so it's easy (I'd say even standard) to implement "and" and "or" with a macro that expand them to "if".