This is needed for some client library to keep its data clean by always return a copy to caller. k8s used it a lot. I had one trivial implementation for single package and need to import the package when run, it seems k8s one works for across package generation.
Ref