If dest is NULL, free src; otherwise, moves src into *dest. The error variable dest points to must be NULL.
error return location
error to move into the return location
See Implementation
If dest is NULL, free src; otherwise, moves src into *dest. The error variable dest points to must be NULL.