I wrote a blog post where I show how to define "until" using Uplevel: http://christopherchase.cc/posts/tcl-until.html
Re:Why I’m Learning Perl 6
by fundabulousrIII on Wednesday July 26, 2017 @11:31AM
(#14857049)
upvar and uplevel are also the only parts of the language that I do not use in production scripting. They have their place. It is not in end user space.
TCL has an interesting history, it's creator is also known for Ousthout's Dichotomy[2] which is useful when disambiguating between "scripting" and "other" languages (an argument that occurs frequently on the internet).
Antirez has written about TCL, if you're an admirer of him or his work (redis) you may find his take on it interesting[3].
[1] https://en.wikipedia.org/wiki/Tcl#Uplevel
[2] https://en.wikipedia.org/wiki/Ousterhout%27s_dichotomy
[3] http://antirez.com/articoli/tclmisunderstood.html