xxxxxxxxxx
Unfortunately you need to create separate functions for different sized tuples. For example:
tupleToList1 :: (a) -> [a]
tupleToList1 (x) = [x]
tupleToList2 :: (a, a) -> [a]
tupleToList2 (x, y) = [x, y]
tupleToList3 :: (a, a, a) -> [a]
tupleToList3 (x, y, z) = [x, y, z]
Unless you use the lens package (which is a rather complex and maybe not very beginner-friendly library).
For example:
import Control.Lens
(1, 2, 3) ^.. each