One of most frequent usage of a type system is literal types.<p>Haskell, Rust,... and modern programming languages fail to do it. The only exception is Typescript.<p>For example, simple way to adding a extended boolean type:<p>type MyBoolean = null | true | false.<p>Or<p>type MyRange = 3 | 4 | 5<p>Curious.