Allow omitting type family signature
I find myself writing
type family Not a where Not False = True Not True = False
quite often, where the signature can be inferred it would be nice to be able to write ... to mean the same thing
type family Not False = True Not True = False
I know Richard has a lot of things planned, I don't know how they mesh together
The desugaring is straightforward, for a type family with n-indexes, add a signature with n fresh type variables.