## "No instance available" after adding another, similar, instance

The following example yields the error `"c1" no instance available of type (T V) V`

. When the `instance c1 (T U) V`

is *removed*, it compiles fine.

It's not entirely clear to me whether this is something that will be allowed under the new semantics, but is not implemented yet, or whether it is something that will not be allowed. However, in any case the error message could be clearer: if you *add* an instance, you don't expect there to be *less* instances available.

```
:: T a = T a
:: U = U
:: V = V
class c1 a b :: a b -> ()
class c2 a :: a
instance c2 V where c2 = V
instance c1 (T a) a | c2 a where c1 a b = ()
instance c1 (T U) V where c1 _ _ = ()
Start = c1 (T V) V
```

cc @smichels

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information