With ActivityPub / ActivityStreams...

To me, it feels like there should have been something that is a common parent of both 'Object' and 'Link'.

That just had the "name", "nameMap", and "preview" fields (along with "id" and "type, of course) — since that is what 'Object' and 'Link' share in common.

I'll just call this common parent: 'Entity'.

...

It could have even been an opportunity to talk about how to handle unknown types.

0

If you have a fediverse account, you can quote this note from your own instance. Search https://mastodon.social/users/reiver/statuses/116195280948457308 on your instance and quote it. (Note that quoting is not supported in Mastodon.)