Multiplication using recursion

The following code usually apears under the question multiplying without multiplication operator, and is a nice demonstration of recursion.