Caffe2:TypeMeta

What is the usage of Caffe2:TypeMeta?
I found this description:
TypeMeta is a thin class that allows us to store the type of a container such as a blob, or the data type of a tensor, with a unique run-time id. It also stores some additional data such as the item size and the name of the type for run-time inspection. Definition at line 324 of file typeid.h.
But, really I am not sure how does it work.
In the following example, it gets z.dtype() which is at:Tensor and then it saves it in dtype as caffe2::TypeMeta.

    caffe2::TypeMeta dtype;
    z = torch::rand({1,4});
    dtype = z.dtype();

Not sure what is the point of that and how it is possible to get the data back from dtype as it is done in pytorch/adam.cpp at master · pytorch/pytorch · GitHub