Пока думал над кодом, понял одну тривиальную вещь - в примерах с поиском неподвижных точек операторов на частично упорядоченном множестве частичных функций мы всегда начинаем с минимального элемента этого множества -
, первое применение оператора добавляет в пустой домен ноль и определяет функцию на нем, второе применение - добавляет в домен к нулю единицу и определяет функцию на двух элементах 0 и 1, и т.д., в результате в качестве супремума мы получаем в домене все множество натуральных чисел, а в функции - факториал, Фибоначчи или что еще в зависимости от оператора, определенное на каждом элементе домена - то есть на всем домене. Это, возможно, справедливо для любых монотонных функций, и кажется, теорема Клини об этом. Хотя, интересно рассмотреть различные операторы, приводящие к разным функциям в виде их неподвижных точек, например, определенные не на всем множестве натуральных чисел.
Но это так, лирика по ходу сражения с Haskell.