I like OOP, only I don't like GOOPS. Its classes and generic functions
seem so idiomatically out of place, unschemish, if you will.
This is how OOP ought to be done:
<URL: https://www.gnu.org/software/guile/manual/html_node/OO-Closure.htm
l#OO-Closure>
I have created a tiny Guile module ("simpleton") that generalizes the
principle. In particular,
* You don't need classes for OOP. You only need objects.
* Do tie methods to objects. Don't pretend methods are external to
objects.
* Don't expose the internal state of objects. Only interact with the
object through methods.