Rework syntax trees to use lvalue expressions