This code compiles fine:
{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, UndecidableInstances, FlexibleContexts, EmptyDataDe
It means that you aren't allowed to use type synomym families when declaring type instances. See the section "Type families and instance declarations" of the GHC manual.
The only way you can fix it is to refactor so as to not need it somehow.