Currently both branches are reduced and the value of the correct branch (from the if) is returned. This should act rather as flow control, preventing the non-true branch from even being reduced. Thus IF (and COND) act at a different level, more like ITERATE.
Currently both branches are reduced and the value of the correct branch (from the if) is returned. This should act rather as flow control, preventing the non-true branch from even being reduced. Thus IF (and COND) act at a different level, more like ITERATE.
Duh, it's flow control...