For me it's more like gee, I had a job writing Tcl and it was so much "fun". I've just tried the example from "Read messages chunk by available chunk" and got:
invalid command name "handle_data sock4"
while executing
"[list handle_data $chan] "
(procedure "handle_client" line 8)
invoked from within
"handle_client sock4 127.0.0.1 40642"
I replaced [list handle_data $chan] with a plain handle_data $chan, but then another bug come up: invalid command name "buf"
while executing
"buf sock4,data_ready write"
(write trace on "buf(sock4,data_ready)")
invoked from within
"set buf($chan,data_ready) 0"
(procedure "handle_data" line 4)
The fun never stops :-) In a way Tcl makes shell scripting (Bash) look wonderful because at least there you can't expect much from it, whereas Tcl presents itself more like a "real", full-blown programming language.