сорт и kind — это одно и тоже?
> на типах вы можете сделать всё что угодно, при условии что этого никак нельзя будет наблюдать в окружающем мире
а почему нельзя использовать функцию, которая распакует сорт в реальное значение?
например, если kind определен для типа, который существует на уровне исполнения, то достаточно инстанциировать в runtime-е этот тип kind-ом.