public static Func <T, T, T, T, T, T, T> ToTailCall <T>( this Target6 <T> target) => ToTailCall <T, T, T, T, T, T, T>((recurse, arg1, arg2, arg3, arg4, arg5, arg6) => target((_arg1, _arg2, _arg3, _arg4, _arg5, _arg6) => recurse(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6), arg1, arg2, arg3, arg4, arg5, arg6));
public static T Call <T>(this Target6 <T> target, T arg1, T arg2, T arg3, T arg4, T arg5, T arg6) => target.ToTailCall()(arg1, arg2, arg3, arg4, arg5, arg6);