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