If you have such a big tuple, in terms of readability you may probably want to think about turning your tuple in a record with explicit names, which are likely to make your code more readable.
In terms of circumventing the limitation, can you write your own instance where you need it, like so?
instance (Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f)
instance (Show a, Show b, Show c, Show d, Show e, Show f) => Show (a, b, c, d, e, f) where
show (a,b,c,d,e,f) = "("<> show a <> "," <> show b <> "," <> show c <> "," <> show d <> "," <> show e <> "," <> show f <> ")"
I’d still encourage you to consider the record-with-named-fields approach. There’s a reason we chose not to include Show instances for larger tuples despite it being very easy to do.
Is there something in particular that’s preventing you from turning the tuple into a record with explicit names? I don’t want to judge, I’m mostly curious if there’s something we can do to promote what we perceive as good practices. If you have some code to share we’re very happy to have a look.