I believe that I have found the reason why argument handling was not working for me. The bug was that when I selected an object as an argument, it was drawn in the argument space as a string, and then reparsed.
The above works fine for arguments that can nicely be turned into strings and then parsed back (Christophe, your example of CLOS class names in the listener falls into this class of argument), but it doesn't work well with things that cannot be parsed from strings.
The error was a flipped if statement, way down in the drei input editor, in present-acceptably-to-string. This if statement stripped off the object information from an argument when it was *successfully* presented to a string, rather than when it was *unsuccessfully* presented.
I attach a patch file. Unless someone finds a mistake, I will commit it tomorrow before the weekend.
Best, Robert