I haven't fully followed the discussion around these guards on `PyObject_CheckBuffer`, but if they are useful then can we pull them out into an inline function like `PyArray_CheckBuffer_Lite`?