conal/shady-graphics — pull request #3 by jkarni (2014-02-07 04:30:45+00:00)
Title: Illegal instance declaration on 7.7

```
[1 of 7] Compiling Shady.ITransform ( src/Shady/ITransform.hs, dist/dist-sandbox-b77d02cc/build/Shady/ITransform.o )

src/Shady/ITransform.hs:57:10:
Illegal instance declaration for ‛ITrans w (E a)’
The liberal coverage condition fails in class ‛ITrans’
for functional dependency: ‛a -> w’
Reason: lhs type ‛E a’ does not determine rhs type ‛w’
In the instance declaration for ‛ITrans w (E a)’
```

With:
```
% ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.7.20131017
```
Though this should be reproducible on any later version of ghc too.
The relevant section is below. I don't really understand how this was a fundep in the first place?

```
-- | Transformable values
class ITrans w a | a -> w where
(*:) :: ITransform w -> Unop a

-- Inert on our basic types
instance ITrans w (E a) where
(*:) = const id
```