using System;

static class E
{
	public static string Test<T> (this C c, T s, Func<T> f)
	{
		return "s";
	}
}

public class C
{
	int Test<T> (T b, Func<bool> f)
	{
		return 1;
	}

	static string Foo<T> (T t, Action<T> a)
	{
		a (t);
		return "f";
	}

	public static void Main ()
	{
		var c = new C ();
		Action<string> f = l => Foo ("v", l2 => c.Test ("a", () => ""));
		f ("-");
	}
}