> Very cool that the language allows specification of a type in this way.

Check out Idris 2. Dependent types can get very hairy to work with, but that language is an absolute playground for inductive type-level verification. And the standard library is like a nice Haskell standard library to me in a lot of ways, although the language itself is (unsurprisingly) not nearly as "production ready" as Haskell.