public static void ExampleCode()
        {
            Func <int, bool> func = IsEven;
            var funcWithCache     = func.A();

            bool isEven;

            isEven = funcWithCache.Invoke(4); // new input value, new result
            isEven = funcWithCache.Invoke(3); // new input value, new result
            isEven = funcWithCache.Invoke(4); // previously used value, cached result
        }