Decoupling the data type