> The goal is to be able to write portable libraries that have keywords. Well put. Verbose syntax in 177 doesn't worry me, because 177 is meant as just one interface to the Scheme implementation's underlying keyword system. Portable code generally has to make a few sacrifices (not only in Scheme, but in all programming languages). If a library can be used in ten Scheme implementations instead of two, simply by the library author typing an extra "call/kw" here and there, that's a huge win. People writing an application, who only need it to run on one particular Scheme implementation, are free to use the more convenient syntax given by that implementation while leveraging portable libraries written using 177. That application can also make use of more complex procedure call semantics (mixing optional positional args and keyword args, etc.) supported by that implementation. That's the beauty of interoperability.