While it was a disaster, the current Tcl package implementation surpasses many other languages. It's possible to have multiple versions installed and have different runtimes choose a version they want. The biggest advantage though is binary version independence through stubs (http://wiki.tcl.tk/stubs). Compile a binary package for 8.x, it will work in 8.y where y >= x.
Yes this was back in the early 90s and I don't even remember what they were called. I don't know if it was really a deficiency of TCL that you had to patch the interpreter to enable library features or the writers were just lazy.
One thing it did have was very easy to write C plugins because everything is a string