Generalize MVT::ValueType and associated functions to be able to represent