Shouldn't this function be called hlist_is_only_node()? hlist_is_last_node would be simply !n->next, as "last" doesn't imply the lack of others.
I understand how the name might make sense in the context of removing entries from the list, but in other contexts, it's confusing.

