Sometimes, in haskell I want the following:
instance ('TypeError ('Text "This instance is bad")) => cls a where
meth = <What goes here>
What exactly would I put here? I see 3 solutions. Use unsatisfieable instead of TypeError, or add a 0 param class that allows me to have access to (forall a. a), or just use undefined. I feel like I shouldn’t use Unsatisfiable, as what I am trying to do is report a type error, adding a 0 param class makes me worry the wrong error will be reported e.g. No instance for …, and undefined seems morally wrong. What exatcly is the recomended approach?