internal static void CompiledLocalFunctionWithClosure()
        {
            int      free    = 1;
            Closure1 closure = new Closure1()
            {
                Free = free
            };

            CompiledAdd(ref closure);
        }
        internal static void CompiledAnonymousFunctionWithClosure()
        {
            int      free    = 1;
            Closure1 closure = new Closure1()
            {
                Free = free
            };

            closure.Add(); // 3
        }
        internal static void CompiledFreeVariableMutation()
        {
            int      free    = 1;
            Closure1 closure = new Closure1 {
                Free = free
            };

            CompiledAdd(ref closure);
            closure.Free = free = 3;
            CompiledAdd(ref closure);
        }
        private static void CompiledAdd(ref Closure1 closure)
        {
            int local = 2;

            (local + closure.Free).WriteLine();
        }