Implement a function Add(a, b) that returns the sum of two integers without using the arithmetic + operator (or any direct arithmetic increment/decrement). Use bitwise operations to produce the result.
This is very similar to Sum of Two Integers, but here - operator is allowed.
Adding b to a is equivalent to subtracting the negation of b from a: a + b = a - (-b). If the problem constraint only forbids the + operator (and not - or unary negation), this identity gives a very short alternative.