I have some misgivings because for some types (any that don't
embed an existential) the type of 'fmap2' is more constrained than
it needs to be. So we could find ourselves adding back specialised
versions at some point in the future, or needing a second type
class.
I think it'd be more compelling if we had some examples where we
would actually want to overload on Functor2. Now that it exists,
perhaps those will emerge over time - it wasn't even possible to
write them before.
Overall I'm happy to go with it.
|