[refactor] introduce Expression#hasSideEffects