Why is it dangerous? 
In `Data::move` and `Data::copy`, the member variables will be assigned.