(...) >> GHC says that the type of the result of 'function' is both determined by >> the "rigid type" from MyClass and the "rigid type" from MyData. But why >> can't both be the same? > > are you OOPer? :) > What is an OOPer?