The future of Dependent Haskell

Well, not to overly nitpick what is otherwise a lot of good sense coming out of you, but in Haskell at least instances of Eq are strongly encouraged to satisfy reflexivity and extensionality, which for instance Eq Type rule out eq _ _ = False and eq _ _ = True respectively (the latter case assuming we get Π-functions to discriminate between types). instance Eq Empty trivially satisfies both.