/// <summary>Loads the argument at index i onto the evaluation stack.</summary>
        public static ILSugar LoadArgument(this ILSugar il, int i)
        {
            switch (i)
            {
            case 0:
                il.Ldarg_0();
                break;

            case 1:
                il.Ldarg_1();
                break;

            case 2:
                il.Ldarg_2();
                break;

            case 3:
                il.Ldarg_3();
                break;

            default:
                if (i <= byte.MaxValue)
                {
                    il.Ldarg_S((byte)i);
                }
                else
                {
                    il.Ldarg(i);
                }
                break;
            }

            return(il);
        }