Marshal::write_to_fd() should set tail_ to null when full read
efficently copy data between Marshal objects