Ну так тогда так и надо говорить, что там могут быть только константы. И тогда возникает волшебная функция, у которой разный возвращаемый (статический!) тип в зависимости от аргумента. Фигня какая-то
Ну, для меня это что-то implied by usecase. Но с типом опять-таки не больше магии, чем сейчас с componentN.