/// <summary>
        /// Creates a new throwable exception of type type.
        /// </summary>
        public static Exception CreateThrowable(object type, object value)
        {
            object pyEx;

            if (Builtin.IsInstance(value, type))
            {
                pyEx = value;
            }
            else if (value is Tuple)
            {
                pyEx = Ops.CallWithArgsTuple(type, new object[0], value);
            }
            else
            {
                pyEx = Ops.Call(type, value);
            }

            return(ExceptionConverter.ToClr(pyEx));
        }
        /// <summary>
        /// Creates a CLR exception for the given type
        /// </summary>
        public static Exception CreateThrowable(object type)
        {
            object pyEx = Ops.Call(type);

            return(ExceptionConverter.ToClr(pyEx));
        }