The most important reason being the possibility to omit the gradient constraint, in order to reduce the computational complexity.
The rectangular constraint is placed before the update, but it is advisable to place this constraint after the update as is shown in.