The only thing I'd change is that if PyDict_GetItem_Fast is a macro that only works for interned strings, I'd change its name to reflect its use: PyDict_GET_ITEM_INTERNED or something similar. One other naming change is to prefix PyDict_GetItem_Fast2 with an underscore, since the comments about its use make it clear that it's an internal function. Skip