deep copy arguments and return values
.