> After years of pondering this idea (in various forms),
> and several rounds of discussion on several forums,
> I've written it up.
> "This proposal tackles the thorny topic of Overlapping
> for both type classes and Type Families/Associated types,
> by annotating instance heads with type-level apartness
> Type-level disequality predicates appear in Sulzmann &
> Stuckey 2002;
> in the type-level case selection in HList 2004;
> and in various guises in Haskell cafe discussions in
> following years.
> This proposal builds on the apartness testing implemented
> as part of the Closed Type Families work."
> All feedback welcome.