Why Data.Set (containers) doesn't have Functor and Monad instance?

Interesting! So it seems like whenever we use Eq constraint we can’t implement a proper functor? Do i get it right?

1 Like

Discussion continues here.

fmap is a “proper function” – that is, it is parametric polymorphic. If you want a version with an Eq or Ord or any other constraint, that makes it ad-hoc polymorphic, which is “improper” – in the opinion of the purists here.