FunctionalDependencies and MultiParamTypeClasses