Why deprecating this?  We use it in quite a few places, and it's kinda handy in callbacks or API functions to simplify the protective check `g_return_if_fail(DOC_VALID(doc))`, instead of `g_return_if_fail(doc && doc->is_valid)`.  It also matches more closely the GObject paradigm of `G_IS_OBJECT()` and alike.