Вот в выражении let l = repeat l - я не могу словами объяснить, что лежит в элементах списка. Поэтому я хочу понять, что ты хотел попросить от компилятора
Меня вообще порой посещает мысль (и после таких примеров она только укрепляется), что и на Хаскеле тоже можно писать, если очень хорошо уметь в типы. Только действительно очень хорошо.
Проблема начинается, когда сущность можно назвать по разному, если это котёнок с дверцей, это и "аналогия" и "галлюцинация". А тип хочется один написать. И тут требуется некоторая тренировка
А к сожалению, очень многие хотят избежать необходимости отвечать на вопросы и думать. Это можно понять, когда вопросы не релевантны решаемой проблеме, но зачастую это не так.
Вообще, строго говоря, это немного спекуляция (со стороны уважаемого @graninas) отождествлять SE в целом с конкретным подходом и методом (закодированным в виде библиотеки) к построению дизайна приложений. ИМХО, конечно. 😊