more optimization of grammar
seems that expression ASTs are being parsed and normalized correctly