Could it be considered a bug when a function compiles fine without type signature, but when you add the type signature that GHCi reports with :type, it fails to compile?

I am using functional dependencies, and I know these are not the best way to do it.

Can all functional dependencies be completely replaced with associated types when using GHC 6.10.1? I tried once but I failed.