The functions pivot_longer() and pivot_wider() are not perfectly symmetrical because column type information is lost. When we use pivot_wider() on a data frame, it discards the original column types. It has to coerce all the variables into a single vector with a single type. Later, if we pivot_longer() that data frame, the pivot_longer() function does not know the original data types of the variables.