static class YCombinator { public static Func, Func>, Func> Fix { get; } = f => ((Func>)(g => f(x => g(g)(x))))((Func>)(g => f(x => g(g)(x)))); }