Proposal: Add conspicuously missing Functor instances for tuples

David Feuer david.feuer at
Mon Jan 18 20:10:07 UTC 2016

For some reason I really can't imagine, it seems the only tuple type
with a Functor instance is (,) a. I was astonished to find that

fmap (+1) (1,2,3)

doesn't work. Since this is *useful*, and there is *only one way to do
it*, I propose we add the following:

instance Functor ((,,) a b) where
  fmap f (a,b,c) = (a,b,f c)
instance Functor ((,,,) a b c) where
  fmap f (a,b,c,d) = (a,b,c,f d)

I would really love to see these make 8.0.0, but if that's impossible
then so be it.

More information about the Libraries mailing list