public new static int tp_setattro(IntPtr ob, IntPtr key, IntPtr val)
{
var managedKey = Runtime.GetManagedString(key);
if ((settableAttributes.Contains(managedKey)) ||
(ManagedType.GetManagedObject(val)?.GetType() == typeof(ModuleObject)))
{
var self = (ModuleObject)ManagedType.GetManagedObject(ob);
return(Runtime.PyDict_SetItem(self.dict, key, val));
}
return(ExtensionType.tp_setattro(ob, key, val));
}