Hello,

This is not an issue with MultiParamTypeClasses. It's just that type synonyms always have to be used fully applied. You can use a newtype instead:

newtype AdjList a = AdjList [(a,[a])]

instance Graph AdjList Int where
  (...)

Best regards,
Marcin Mrotek