It is impossible to use the same variable both as an argument and the result.
Therefore we have to create a separate  variable for the return value.