If you completely decouple the _mechanics_ of AP from the _semantic meaning_ of the capabilities, something very interesting emerges.
For instance:
```
Add {
Follow {
id
Follower.id
Followed.id
}
Followed.followers.id
}
```
Basically this is what happens when you completely remap the relations to nouns and leave the verbs for control structures.
Now a lot of things that are unclear in the basic ActivityPub spec become obvious in how to handle them.