Caveat, probably most of the frustration comes from the dynamic nature of the #ActivityPub specification which, alongside having most library developers throw their hands in the air and giving up, makes that every property of an object needs to be checked if it is a list of things, a thing itself, a reference to the thing, or, why not, a list of things and references mixed together. 🤢