Pattern matching against arbitrary sized tuple

for that particular tuple, I think you can use the Record module.