Вот, в том и смысл. Что система типов в С++ мета-система. У тебя в идрисе(как и в любом обычном языке) есть система типов в рамках которой ты существует. Там есть какой-то тайпчекер. В рамках ограничения которого ты существуешь и пишешь свою логику.
С++ же язык следующего порядка, о чём я уже говорил ранее. И его система типов так же. Т.е. ты не пишешь логику в рамках крестового тайпчекера - ты пишешь свой тайпчекер