public static async Task run()
        {
            var obj  = new EvaluateTestsStructWithProperties(0);
            var obj2 = new EvaluateTestsStructWithProperties(0);

            obj.InstanceMethod(400, 123, "just a test", obj2);
            new EvaluateTestsStructWithProperties(0).GenericInstanceMethod <int>(400, 123, "just a test", obj2);
            new EvaluateTestsStructWithProperties(0).EvaluateShadow(new DateTime(2020, 3, 4, 5, 6, 7), obj.NewInstance);

            await new EvaluateTestsStructWithProperties(0).InstanceMethodAsync(400, 123, "just a test", obj2);
            await new EvaluateTestsStructWithProperties(0).GenericInstanceMethodAsync <int>(400, 123, "just a test", obj2);
            await new EvaluateTestsStructWithProperties(0).EvaluateShadowAsync(new DateTime(2020, 3, 4, 5, 6, 7), obj.NewInstance);
        }
        public static void EvaluateLocals()
        {
            TestEvaluate f = new TestEvaluate();

            f.run(100, 200, "9000", "test", 45);
            var f_s = new EvaluateTestsStructWithProperties();

            f_s.InstanceMethod(100, 200, "test", f_s);
            f_s.GenericInstanceMethod <int>(100, 200, "test", f_s);

            var f_g_s = new EvaluateTestsGenericStruct <int>();

            f_g_s.EvaluateTestsGenericStructInstanceMethod(100, 200, "test");
        }