But does that mean type itself does not have device or layout? please note that type is different from dtype. I guess .type() is what now .options() provides with better details.
Nope. Type is related to the numeric encoding of the tensor (i.e. int32, int64, float32, etc). Layout relates to the memory layout of your Tensor storage, it can be strided or sparse.