public object Call(IEnumerable <object> arguments)
        {
            var result = UnderlyingJSValue.Call(
                arguments.Select(Context.ToJSValue).ToArray()
                );

            JSException.ThrowIfSet(Context.UnderlyingJSContext);

            return(Context.FromJSValue(result));
        }
        public object Invoke(string method, IEnumerable <object> arguments)
        {
            var result = UnderlyingJSValue.Invoke(
                method,
                arguments.Select(Context.ToJSValue).ToArray()
                );

            JSException.ThrowIfSet(Context.UnderlyingJSContext);

            return(Context.FromJSValue(result));
        }