> abstractions should be emergent, not speculative
Dang, I love that line, too. It is 100% correct, and the opposite of what OOP teaches.