Stephen,
Implementation note: Attaching unique documentation to each instance would be possible if Squeak had finalizers and weak pointers. An instance being expunged by the garbage collector could, in its finalizer, remove itself and its documentation from a global Explanation dictionary.
I imagined it a little bit different: the explanation is, in some sense, inside the instance (e.g., Object may have instance variable 'explanation').
On a slight tangent: It seems to me that a documentation browser would be even more important in a prototype-based system, since there would be no class hierarchy to help a user find information.
The key is right here. In a prototype-based system we explicitly regard everything as objects, and want documentation for all objects. But in Smalltalk, what forces us to only put comments on objects which are kinds of Class?
Boris