hat points to the <tt>Foo</tt> that is inside <tt>b</tt>.
This is the same value as generated by this C code:
</p>

<div class="code">
<pre>
Bar b;
Foo *x = &amp;b-&gt;f;       /* Points inside b */
</pre>
</div>

<p>
However, one peculiarity of accessing a substructure like this is that the returned
value does work quite like you might expect.  For example:
</p>

<div class="code">
<pre>
% Bar b
% set x [b cget -f]
% x cget -a
invalid command name "x"
</pre>
</div>

<p>
This is because the returned value w