Func<string> blah = () => "im a function"; var blah = new Func<string>(() => "im a function");
But you can have a generic extension method that returns one of the types and then via inference you can do it implicitly typed.
It shoud be something like this in C# 5:
public static class Lamb { public static Func<T> da(this Func<T> f) { return f; } }
var egocentricFn = Lamb.da(() => "im a function");
string blah() => "im a function";
Ceylon:
String blah() => "im a function";
Coincidence? Just kidding.