Dependent Types? Check out Idris.
That being said, I don't care much for Haskell-based syntax.
The syntax is nice because it enables the programmer to express software in a terse way, generally favoring the types as documentation and a strong mental model to understand the abstraction.