Updates binary operations to work by value.

This was required by the change in the compiler for the binary
operators, such as `Add`, `Sub`, `Mul`, etc., to take their arguments by
value instead of by reference.