Indeed, this may be an issue. One way to avoid this is calling `walk_expr` here in the order we want. First walk the `LHS`, then the `RHS` and then return. (Unless you've a better suggestion)