5 static void Foo (Action<int> a)
18 static void Foo (Action<string> a)
23 static T Foo<T> (Func<string, T> f)
25 return f ("function");
30 return Foo (str => str.ToLower ());
33 public static void Main ()
35 var str = Foo (s => s);
36 Console.WriteLine (str);
37 Foo (s => Console.WriteLine (s));