There are only two kinds of relation here, “subset of” and “instance of” (aka “element of”, type-token).
The category-category relations are intended to always be a subset relation. The article-category relations are intended to always be an instance-of relation.
- "19th century American writers" is a subset of "American writers“.
=> Both are a category, so no problem.
- “Novelists” is a subset of “Writers”.
=> Both are a category, so no problem.
- “Writer(s)” is an instance of “Occupation”.
=> Here the problem is that “Writers” is a category. It would be okay if it was an article “Writer (occupation)”.
- “Writers” is an instance of “Categories with more than 100 entries".
=> Here, again, the problem is that “Writers” is a category, and having an instance-of relation between categories is not an intended/supported use-case.
This could conceivably be solved by supporting an instance-of relation between categories, in addition to the existing subset (subcategory) relation. It could be called a meta-category relation. Then you could have the category of occupation categories.
Another way to put this is that categories have to be typed: a category contains either (just) articles, or it contains (just) categories. Subcategories then must match the type of their supercategories and correspondingly must contain either articles or categories.
Basically, Wikipedia’s type system is not expressive enough to allow everything people would want to express in it.