will lose in the end to a worse answer that works in many situations.

This is the basic message of Worse is Better. There are many features which are better per developer or per project, but are worse per community. Creating ideal environments at the cost of fragmentation has been a classic issue for languages like Lisp. By contrast languages like C and Perl, clearly much worse in many ways, do a better job with that and benefit on the whole from it.

The fact that Smalltalk provides the custom answer you really want on your project is not at all inconsistent with the failure of Smalltalk to realize the potential that its supporters believe possible.

Cheers,
Ben