[macro] TupleExtension
which extends a method with one type argument to more general cases, using the fact that Tuple is also a generic type