class ClassA a where duplicate :: a -> a class ClassB b where duplicate :: b -> b