What is this used for? How is it different from: (double)t