This is my second attempt at introducing keyword aware methods in GOOPS.

I was split but finally decided to go with keeping keyword non-aware define-method and method and introducing keyword aware new syntax method* and define-method*. Arguments are:

1. It preserves simplicity in method and define-method such that other implementations (like guile-hoot) can choose to only define these (and possibly provide something like Mark's macro doe define-method*).
2. It aligns with lambda* and define*.
3. It is somewhat better at protecting backward compatibility.
4. It preserves the option to also in the internal implementation use something like Mark's macro once this gives equal performance.

I've also committed these changes to

https://github.com/mdjurfeldt/guile/tree/goops-keyword

I'm going to start documenting this now and will then commit it to the Guile repo.

Best regards,
Mikael