Singleton types in Haskell
As you describe, singleton types are those which have only one value (let’s ignore ⊥ for the moment). Thus, the value of a singleton type has a unique type representing the value. The crux of dependent-type theory (DTT) is that types can depend on values (or, said another way, values can parameterise types). A type … Read more