Why does the type of `inj`

require the `IsSymbol`

constraint? It seems like `sym`

would already be constrained to `:: Symbol`

by the `Cons`

constraint.

```
inj :: forall sym a r1 r2. Cons sym a r1 r2 => IsSymbol sym => SProxy sym -> a -> Variant r2
```

```
class Cons (label :: Symbol) (a :: Type) (tail :: # Type) (row :: # Type) | label a tail -> row, label row -> a tail
```

```
class IsSymbol (sym :: Symbol) where
```