
Nathan Bouscal
What you seem to be saying, though, is one of two things. 1: "In all contexts, you should only ever use tuples for this purpose", or 2: "If you find another purpose to use tuples for, you shouldn't use them as Functors" .. Option 2 is more humble in that it allows for the possibility that there's a use-case you're unfamiliar with, but instead it just makes an arbitrary decision that, whatever this unfamiliar use-case is, surely they shouldn't be using Functor. I don't see any way to justify that position.
This kind of argument is defeatable by replacing Functor with Monad (which, I'm sure, we can find a some instance of), or some other, even more specific type class -- the argument becomes absurd, without having its structure changed. Where do we stop? -- с уважениeм / respectfully, Косырев Сергей