So let me get this straight, for the arguments pointers are used because it would allow them to be null, and the return value is pointer because the original should be used and not a copy?
So let me get this straight, for the arguments pointers are used because it would allow them to be null, and the return value is pointer because the original should be used and not a copy?