<p>Answers to the above questions per <a href="https://mastodon.social/tags/tcl" class="mention hashtag" rel="tag">#<span>tcl</span></a> on libera:</p><p>- Type compatibility in tcl can be tested with [string is …]. "Actual" (interpreter level) type is apparently not exposed. <a href="https://www.tcl-lang.org/man/tcl8.6/TclCmd/string.htm#M10" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://www.</span><span class="ellipsis">tcl-lang.org/man/tcl8.6/TclCmd</span><span class="invisible">/string.htm#M10</span></a></p><p>- Strings can be concatenated with [string cat …].</p><p>- Arrays are "weird"; they live in a single scope and can't be exported or passed to a function except by breaking things with "upvar". Additionally, dicts are ordered. "arrays" feel like an old version of "dicts" and I think I intend to avoid them</p>