public static void Main()
Func<string, string> handler1 = (s) => {
Func<string, string> handler2 = (s) => {
Func<string, string> handler3 = (s) => {
Func<string, string> chain = ChainBuilder(ChainBuilder(handler1, handler2), handler3);
Console.WriteLine(chain(" hello,"));
static Func<Func<string, string>, Func<string, string>, Func<string, string>> ChainBuilder = (f1, f2) => s => {