I have seen some code in which the arguments passed to the function by value was being modified or assigned a new value and was being used like a local variable.
Is it a good thing to do? Are there any pitfalls of doing this or is it Ok to code like this?