update can use non-constant value as right value