internal ScriptObject CreateInstance(ScriptType scriptType, params object[] param)
        {
            var constructor = scriptType.GetConsturctor(param.Select(_ => new ScriptType(null, null)).ToArray());

            var scriptObject = new ScriptObject(scriptType);

            constructor?.Invoke(scriptObject, param);

            return(scriptObject);
        }