Allow Func<int, string> = static i => i.ToString();.
To avoid accidentally capturing any local state when supplying lambda functions for method arguments, prefix the lambda declaration with the static keyword. This makes the lambda function just like a static method, no capturing locals and no access to this or base.
int y = 10;
someMethod(x => x + y); // captures 'y', causing unintended allocation.
with this proposal you could the static keyword to make this an error.
int y = 10;
someMethod(static x => x + y); // error!
const int y = 10;
someMethod(static x => x + y); // okay :-)
LDM history: