mizvekov wrote: If the reason to even consider doing this as a new builtin type is due to templates, please don't do that. The better alternative here is to wait for template specialization resugaring to land. https://github.com/llvm/llvm-project/pull/136542