How to come up with good abstractions

When thinking about abstraction, do not model objects, instead model intentions.
In other words, do not abstract nouns, abstract verbs.

Maybe that’s why composition is preferred in more places than inheritance.

And I think the former scales way better than the latter.