I think every object should be of a specific type, and objects should not directly instantiate Z1/ZObject.
We should raise a well-formedness or validation error in case Z1K1 is Z1.
This came up while reviewing https://gerrit.wikimedia.org/r/c/mediawiki/extensions/WikiLambda/+/644588