revert assign to use expr; change walk order for decl
myriad of parse fixes and tests for decl and if expressions