(edited from previous question where I thought code below doesn\'t work)
I wish to implement a haskell function f that has a restriction such that its 2 parameters m
With new features being added to GHC, you'll be able to write:
{-# LANGUAGE DataKinds, PolyKinds, TypeFamilies #-} type family Equal (a :: k) (b :: k) :: Bool type instance where Equal a a = True Equal a b = False