Вот алгоритмику все учат как отдельную дисциплину (и часто computer science определяют именно через неё), а работа с типами не имеет своего названия, её особо не учат, а в Julia это оказывается ключевым. То есть как из базовых операторов писать алгоритм учат, а как из системы типов что-то внятное делать для этих самых алгоритмов — нет такой дисциплины, нет своего Кнута.