Convert a tuple of types formed by the application of a common
type constructor to a tuple of the common type constructor and a
list of the types to which it is applied in the original
tuple. E.g. TupleToRecArgs f (f a, f b) ~ (f, [a,b]).
Equations
TupleToRecArgs f (f a, f b, f c, f d, f e, f z, f g, f h) = '(f, '[a, b, c, d, e, z, g, h])TupleToRecArgs f (f a, f b, f c, f d, f e, f z, f g) = '(f, '[a, b, c, d, e, z, g])TupleToRecArgs f (f a, f b, f c, f d, f e, f z) = '(f, '[a, b, c, d, e, z])TupleToRecArgs f (f a, f b, f c, f d, f e) = '(f, '[a, b, c, d, e])TupleToRecArgs f (f a, f b, f c, f d) = '(f, '[a, b, c, d])TupleToRecArgs f (f a, f b, f c) = '(f, '[a, b, c])TupleToRecArgs f (f a, f b) = '(f, '[a, b])TupleToRecArgs f () = '(f, '[])