B =
shift(B,1) + B + shift(B,-1), than if shift()
modified B. Recommended by the ARM [ES90, page 249], the functional
syntax shift(B,1) makes it clear that the operand
B is not modified, while in B.shift(1) it is
not as clear. Similarly, we believe that x = sum(A*B+C)
is clearer than x = (A*B+C).sum().