Runtime type checking is now done through plist_node_is_XXX() functions rather than through plist_node_kind(). This is because some logical node types have multiple physical node types representing them, such as PLIST_NODE_DICTIONARY and PLIST_NODE_DICTIONARY_EMPTY.