public static A Product <NUM, A>(this Tuple <A, A> self) where NUM : struct, Num <A> => TypeClass.product <NUM, FoldTuple <A>, Tuple <A, A>, A>(self);