OK, humor me on this, I'm trying to follow along.
In Smalltalk, as in most other OO languages, when you describe a class that requires another class, you do so with a specific, explicit reference:
myVar := SomeClass new.
Your object is now dependent on SomeClass. In compiled languages, this isn't a big deal because, hey, your code ain't gonna compile if SomeClass isn't available. (With some exceptions for dynamically loaded libraries, I suppose.)
But in Smalltalk, where formal parameters are untyped and the called code doesn't, in fact, care what's been passed to it as long as it can answer the right messages. Smalltalk doesn't do anything to check this until runtime, either.
So this sort of begs the question (to me) of why the class needs to be dependent. We could, of course, allow the client to set myVar rather than doing it in the code, but why couldn't SomeClass be defined as "any class that supports the interface I need to operate"? That would really be more Small-talky than what currently exists.
That might exacerbate the whole absent/present thing, dunno.