The idea is to refactor ifcxt into a more fully formed package, Data.HasConstraint, that exposes a bunch of standard typeclasses and removes the Template Haskell dependency. Another package, Data.HasConstraint.TH will then hold the Template Haskell functionality, so one has a bit more freedom over whether you want that as a dependency.
Packages:
has-constraint
base package with the typeclass and some defualt instanceshas-constraint-th
template haskell code for generating instances