It might be not possible to create a generic #ActivityPub server, but nevertheless this is an interesting thought experiment that helps simplify the protocol and figure out the best way to extend it.
I've been thinking about generic servers for quite some time (because this complements my work on nomadic clients), here are my notes:
https://codeberg.org/silverpill/feps/src/branch/main/fc48/fep-fc48.md
RE: https://mastodon.social/users/eyeinthesky/statuses/116095929503245071
Why did #ActivityPub create special behaviors such as Like, Announce and Block (and the Undo variants) instead of using Add to or Remove from the associated Collection objects? I have a similar question for outbox and inbox POST, which is an implicit Add to those collections.
When adding support for extended collections, is an new collection-specific Activity preferred over Add/Remove? FWIW, I see Mastodon uses Add/Remove for pinned and featured posts.