private int ExecConcat(Instruction i, int instructionPtr)
        {
            DynValue r = m_ValueStack.Pop().ToScalar();
            DynValue l = m_ValueStack.Pop().ToScalar();

            string rs = r.CastToString();
            string ls = l.CastToString();

            if (rs != null && ls != null)
            {
                m_ValueStack.Push(DynValue.NewString(ls + rs));
                return(instructionPtr);
            }
            else
            {
                int ip = Internal_InvokeBinaryMetaMethod(l, r, "__concat", instructionPtr);
                if (ip >= 0)
                {
                    return(ip);
                }
                else
                {
                    throw ScriptRuntimeException.ConcatOnNonString(l, r);
                }
            }
        }