Allow consteval functions to return types by using the declarator typename auto. These functions would be evaluated at compile time and usable anywhere a type is expected.
Motivation
Express compile-time type computation using normal control flow.
Zero runtime cost since consteval are deduced at compile time.
Rules (proposal)
Must be declared consteval.
Each return must produce a type expression (e.g. int, std::vector<T>, decltype(expr)).
Usable in using, declarations, template arguments, concepts, etc.
Why
More readable than alias templates/struct metafunctions for many cases.
Aligns type-level programming with existing constexpr/consteval function model