using System;

class Program
{
	public class Foo
	{
		public static bool MG (Foo t)
		{
			return false;
		}
	}

	public class Bar<T>
	{
		public static Bar<T> Create (Func<T, bool> a)
		{
			return null;
		}

		public static Bar<T> Create (Func<T, double> a, Func<T, bool> b = null)
		{
			throw new ApplicationException ();
		}
	}

	static void Main ()
	{
		var x = Bar<Foo>.Create (Foo.MG);
	}
}