Type arrays aren't explicitly mentioned in #ActivityPub spec, but they are in #ActivityStreams in a bunch of examples.
For instance "Object that is both a Place and a Location"
https://www.w3.org/TR/activitystreams-core/#fig-an-object-that-is-both-a-place-and-a-gr-location
Or in the text stating that vCard should be used to extend an Actor.
Most elaborate example is:
https://www.w3.org/TR/activitystreams-core/#example-using-multiple-vocabularies
Supporting a type array is spec conformant. Not supporting it is a shortcoming of the impl.
@humanetech @trwnh @caesar Ah, interesting, so it is in the spec.
In that case, the real problem is that existing AP software don't support type arrays, so if we used the solution of type arrays, we'd also have to send PRs to Mastodon and the others.