if has been implemented a while ago
first environment unit tests
fix IfNode children not recieving the environment 

after the parsing process, the environment is set on all
nodelists and the nodelists are responsible for setting it on
their children. This didn't work for the IfNode: it is special because 
it has lots of children nodelists, which aren't directly attached to the node but hidden in an array of [condition, nodelist]