Построить свои типы с допустимыми значениями, сделать возможным работу с объектов во времени компиляции - это Си++ может. Но что ещё бывает эдакого. Завтипы, наверное, требуют огромного количества церемоний, а профита мало? Особенно, когда взаимодействуем с пользовательским вводом