This is probably just a problem with the precedence in the expression compiler rather than just being related to arbitrary lazy expressions.
The extra parentheses in your workaround probably come from the interaction of the Union() and Select() rather than the Update() and Union().
This is probably just a problem with the precedence in the expression compiler rather than just being related to arbitrary lazy expressions.
The extra parentheses in your workaround probably come from the interaction of the Union() and Select() rather than the Update() and Union().