using System.Collections.Generic;
using static System.Console;
public static void Main()
public static void ActionChain(this object input, params Action<object> [] actions)
((IEnumerable<Action<object>>)actions).ToList().ForEach(action=>action(input));
public static object FuncChain<IN,OUT>(this object input, params Func<object,object> [] functions)
foreach(var function in functions)
returned=function(returned ?? input);