Попытаюсь объяснить, что я хочу, поскольку не знаю, в каком разделе математики копать.
Идея выглядит так: class Dom a where dom :: [a]
Возьмем тип Bool. Для него будет dom = [False, True] .
Возьмем Maybe Bool. Для него dom = [Nothing, Just False, Just True] .
Теперь будем брать потенциально бесконечные множества.
Например, Integer. Для него dom
(
Read more... )