using System;

static class Test
{
	public static void Foo<T1, T2, TResult> (
		T1 arg1, T2 arg2, Func<T1, T2, TResult> func)
	{
		Bar (arg1, arg2, (a, b, _) => func (a, b));
	}

	public static void Bar<T1, T2, TResult> (
		T1 arg1, T2 arg2, Func<T1, T2, int, TResult> func)
	{
	}

	public static void Main ()
	{
	}
}