about summary refs log tree commit diff stats
path: root/html/036refcount.cc.html
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2017-03-07 01:41:48 -0800
committerKartik K. Agaram <vc@akkartik.com>2017-03-07 01:41:48 -0800
commit9e751bb8c0cdf771d34c839cb6591d892b8e62de (patch)
tree2ac86646cd0aa204626a4fc842dbe8b2aa526817 /html/036refcount.cc.html
parent848ebc1e6335cd1a34e07662242a367fefbc5229 (diff)
downloadmu-9e751bb8c0cdf771d34c839cb6591d892b8e62de.tar.gz
3761
Diffstat (limited to 'html/036refcount.cc.html')
-rw-r--r--html/036refcount.cc.html279
1 files changed, 140 insertions, 139 deletions
diff --git a/html/036refcount.cc.html b/html/036refcount.cc.html
index 41c7a557..7b01af8a 100644
--- a/html/036refcount.cc.html
+++ b/html/036refcount.cc.html
@@ -15,18 +15,19 @@ body { font-size: 12pt; font-family: monospace; color: #eeeeee; background-color
 a { text-decoration: none; }
 a:hover { text-decoration: underline; }
 * { font-size: 12pt; font-size: 1em; }
-.Constant { color: #00a0a0; }
-.Special { color: #c00000; }
+.SalientComment { color: #00ffff; }
 .muRecipe { color: #ff8700; }
-.cSpecial { color: #008000; }
-.Comment { color: #9090ff; }
-.Delimiter { color: #800080; }
+.muData { color: #ffff00; }
 .LineNr { color: #444444; }
 .traceContains { color: #008000; }
+.Delimiter { color: #800080; }
 .Normal { color: #eeeeee; background-color: #080808; padding-bottom: 1px; }
-.muData { color: #ffff00; }
+.cSpecial { color: #008000; }
+.Conceal { color: #4e4e4e; }
+.Comment { color: #9090ff; }
+.Constant { color: #00a0a0; }
+.Special { color: #c00000; }
 .Identifier { color: #c0a020; }
-.SalientComment { color: #00ffff; }
 -->
 </style>
 
@@ -96,9 +97,9 @@ if ('onhashchange' in window) {
 <span id="L33" class="LineNr">  33 </span>
 <span id="L34" class="LineNr">  34 </span><span class="Normal">void</span> <a href='036refcount.cc.html#L34'>increment_any_refcounts</a><span class="Delimiter">(</span><span class="Normal">const</span> reagent&amp; canonized_x<span class="Delimiter">,</span> <span class="Normal">const</span> vector&lt;<span class="Normal">double</span>&gt;&amp; data<span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L35" class="LineNr">  35 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_address<span class="Delimiter">(</span>canonized_x<span class="Delimiter">))</span> <span class="Delimiter">{</span>
-<span id="L36" class="LineNr">  36 </span>    assert<span class="Delimiter">(</span>scalar<span class="Delimiter">(</span>data<span class="Delimiter">));</span>
-<span id="L37" class="LineNr">  37 </span>    assert<span class="Delimiter">(</span>!canonized_x<span class="Delimiter">.</span>metadata<span class="Delimiter">.</span>size<span class="Delimiter">);</span>
-<span id="L38" class="LineNr">  38 </span>    <a href='036refcount.cc.html#L43'>increment_refcount</a><span class="Delimiter">(</span>data<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">));</span>
+<span id="L36" class="LineNr">  36 </span>  <span class="Conceal">¦</span> assert<span class="Delimiter">(</span>scalar<span class="Delimiter">(</span>data<span class="Delimiter">));</span>
+<span id="L37" class="LineNr">  37 </span>  <span class="Conceal">¦</span> assert<span class="Delimiter">(</span>!canonized_x<span class="Delimiter">.</span>metadata<span class="Delimiter">.</span>size<span class="Delimiter">);</span>
+<span id="L38" class="LineNr">  38 </span>  <span class="Conceal">¦</span> <a href='036refcount.cc.html#L43'>increment_refcount</a><span class="Delimiter">(</span>data<span class="Delimiter">.</span>at<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">));</span>
 <span id="L39" class="LineNr">  39 </span>  <span class="Delimiter">}</span>
 <span id="L40" class="LineNr">  40 </span>  <span class="Comment">// End Increment Refcounts(canonized_x)</span>
 <span id="L41" class="LineNr">  41 </span><span class="Delimiter">}</span>
@@ -113,9 +114,9 @@ if ('onhashchange' in window) {
 <span id="L50" class="LineNr">  50 </span>
 <span id="L51" class="LineNr">  51 </span><span class="Normal">void</span> <a href='036refcount.cc.html#L51'>decrement_any_refcounts</a><span class="Delimiter">(</span><span class="Normal">const</span> reagent&amp; canonized_x<span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L52" class="LineNr">  52 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_address<span class="Delimiter">(</span>canonized_x<span class="Delimiter">))</span> <span class="Delimiter">{</span>
-<span id="L53" class="LineNr">  53 </span>    assert<span class="Delimiter">(</span>canonized_x<span class="Delimiter">.</span>value<span class="Delimiter">);</span>
-<span id="L54" class="LineNr">  54 </span>    assert<span class="Delimiter">(</span>!canonized_x<span class="Delimiter">.</span>metadata<span class="Delimiter">.</span>size<span class="Delimiter">);</span>
-<span id="L55" class="LineNr">  55 </span>    <a href='036refcount.cc.html#L60'>decrement_refcount</a><span class="Delimiter">(</span><a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> canonized_x<span class="Delimiter">.</span>value<span class="Delimiter">),</span> <a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">(</span>canonized_x<span class="Delimiter">.</span>type<span class="Delimiter">),</span> <a href='036refcount.cc.html#L82'>payload_size</a><span class="Delimiter">(</span>canonized_x<span class="Delimiter">));</span>
+<span id="L53" class="LineNr">  53 </span>  <span class="Conceal">¦</span> assert<span class="Delimiter">(</span>canonized_x<span class="Delimiter">.</span>value<span class="Delimiter">);</span>
+<span id="L54" class="LineNr">  54 </span>  <span class="Conceal">¦</span> assert<span class="Delimiter">(</span>!canonized_x<span class="Delimiter">.</span>metadata<span class="Delimiter">.</span>size<span class="Delimiter">);</span>
+<span id="L55" class="LineNr">  55 </span>  <span class="Conceal">¦</span> <a href='036refcount.cc.html#L60'>decrement_refcount</a><span class="Delimiter">(</span><a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> canonized_x<span class="Delimiter">.</span>value<span class="Delimiter">),</span> <a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">(</span>canonized_x<span class="Delimiter">.</span>type<span class="Delimiter">),</span> <a href='036refcount.cc.html#L82'>payload_size</a><span class="Delimiter">(</span>canonized_x<span class="Delimiter">));</span>
 <span id="L56" class="LineNr">  56 </span>  <span class="Delimiter">}</span>
 <span id="L57" class="LineNr">  57 </span>  <span class="Comment">// End Decrement Refcounts(canonized_x)</span>
 <span id="L58" class="LineNr">  58 </span><span class="Delimiter">}</span>
@@ -123,22 +124,22 @@ if ('onhashchange' in window) {
 <span id="L60" class="LineNr">  60 </span><span class="Normal">void</span> <a href='036refcount.cc.html#L60'>decrement_refcount</a><span class="Delimiter">(</span><span class="Normal">int</span> old_address<span class="Delimiter">,</span> <span class="Normal">const</span> type_tree* <a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">,</span> <span class="Normal">int</span> <a href='036refcount.cc.html#L82'>payload_size</a><span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L61" class="LineNr">  61 </span>  assert<span class="Delimiter">(</span>old_address &gt;= <span class="Constant">0</span><span class="Delimiter">);</span>
 <span id="L62" class="LineNr">  62 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>old_address<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L63" class="LineNr">  63 </span>    <span class="Normal">int</span> old_refcount = <a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> old_address<span class="Delimiter">);</span>
-<span id="L64" class="LineNr">  64 </span>    <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9999</span><span class="Delimiter">,</span> <span class="Constant">&quot;mem&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;decrementing refcount of &quot;</span> &lt;&lt; old_address &lt;&lt; <span class="Constant">&quot;: &quot;</span> &lt;&lt; old_refcount &lt;&lt; <span class="Constant">&quot; -&gt; &quot;</span> &lt;&lt; old_refcount-<span class="Constant">1</span> &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
-<span id="L65" class="LineNr">  65 </span>    --old_refcount<span class="Delimiter">;</span>
-<span id="L66" class="LineNr">  66 </span>    <a href='001help.cc.html#L218'>put</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> old_address<span class="Delimiter">,</span> old_refcount<span class="Delimiter">);</span>
-<span id="L67" class="LineNr">  67 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>old_refcount &lt; <span class="Constant">0</span><span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L68" class="LineNr">  68 </span>      tb_shutdown<span class="Delimiter">();</span>
-<span id="L69" class="LineNr">  69 </span>      cerr &lt;&lt; <span class="Constant">&quot;Negative refcount!!! &quot;</span> &lt;&lt; old_address &lt;&lt; <span class="Constant">' '</span> &lt;&lt; old_refcount &lt;&lt; <span class="cSpecial">'\n'</span><span class="Delimiter">;</span>
-<span id="L70" class="LineNr">  70 </span>      <span class="Normal">if</span> <span class="Delimiter">(</span>Trace_stream<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L71" class="LineNr">  71 </span>        cerr &lt;&lt; <span class="Constant">&quot;Saving <a href='003trace.cc.html#L161'>trace</a> to last_trace.</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">;</span>
-<span id="L72" class="LineNr">  72 </span>        ofstream fout<span class="Delimiter">(</span><span class="Constant">&quot;last_trace&quot;</span><span class="Delimiter">);</span>
-<span id="L73" class="LineNr">  73 </span>        fout &lt;&lt; Trace_stream<span class="Delimiter">-&gt;</span><a href='003trace.cc.html#L143'>readable_contents</a><span class="Delimiter">(</span><span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>
-<span id="L74" class="LineNr">  74 </span>        fout<span class="Delimiter">.</span>close<span class="Delimiter">();</span>
-<span id="L75" class="LineNr">  75 </span>      <span class="Delimiter">}</span>
-<span id="L76" class="LineNr">  76 </span>      exit<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">);</span>
-<span id="L77" class="LineNr">  77 </span>    <span class="Delimiter">}</span>
-<span id="L78" class="LineNr">  78 </span>    <span class="Comment">// End Decrement Refcount(old_address, payload_type, payload_size)</span>
+<span id="L63" class="LineNr">  63 </span>  <span class="Conceal">¦</span> <span class="Normal">int</span> old_refcount = <a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> old_address<span class="Delimiter">);</span>
+<span id="L64" class="LineNr">  64 </span>  <span class="Conceal">¦</span> <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9999</span><span class="Delimiter">,</span> <span class="Constant">&quot;mem&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;decrementing refcount of &quot;</span> &lt;&lt; old_address &lt;&lt; <span class="Constant">&quot;: &quot;</span> &lt;&lt; old_refcount &lt;&lt; <span class="Constant">&quot; -&gt; &quot;</span> &lt;&lt; old_refcount-<span class="Constant">1</span> &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
+<span id="L65" class="LineNr">  65 </span>  <span class="Conceal">¦</span> --old_refcount<span class="Delimiter">;</span>
+<span id="L66" class="LineNr">  66 </span>  <span class="Conceal">¦</span> <a href='001help.cc.html#L218'>put</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> old_address<span class="Delimiter">,</span> old_refcount<span class="Delimiter">);</span>
+<span id="L67" class="LineNr">  67 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>old_refcount &lt; <span class="Constant">0</span><span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L68" class="LineNr">  68 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> tb_shutdown<span class="Delimiter">();</span>
+<span id="L69" class="LineNr">  69 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> cerr &lt;&lt; <span class="Constant">&quot;Negative refcount!!! &quot;</span> &lt;&lt; old_address &lt;&lt; <span class="Constant">' '</span> &lt;&lt; old_refcount &lt;&lt; <span class="cSpecial">'\n'</span><span class="Delimiter">;</span>
+<span id="L70" class="LineNr">  70 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>Trace_stream<span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L71" class="LineNr">  71 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> cerr &lt;&lt; <span class="Constant">&quot;Saving <a href='003trace.cc.html#L161'>trace</a> to last_trace.</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">;</span>
+<span id="L72" class="LineNr">  72 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> ofstream fout<span class="Delimiter">(</span><span class="Constant">&quot;last_trace&quot;</span><span class="Delimiter">);</span>
+<span id="L73" class="LineNr">  73 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> fout &lt;&lt; Trace_stream<span class="Delimiter">-&gt;</span><a href='003trace.cc.html#L143'>readable_contents</a><span class="Delimiter">(</span><span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>
+<span id="L74" class="LineNr">  74 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> fout<span class="Delimiter">.</span>close<span class="Delimiter">();</span>
+<span id="L75" class="LineNr">  75 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L76" class="LineNr">  76 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> exit<span class="Delimiter">(</span><span class="Constant">0</span><span class="Delimiter">);</span>
+<span id="L77" class="LineNr">  77 </span>  <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L78" class="LineNr">  78 </span>  <span class="Conceal">¦</span> <span class="Comment">// End Decrement Refcount(old_address, payload_type, payload_size)</span>
 <span id="L79" class="LineNr">  79 </span>  <span class="Delimiter">}</span>
 <span id="L80" class="LineNr">  80 </span><span class="Delimiter">}</span>
 <span id="L81" class="LineNr">  81 </span>
@@ -294,8 +295,8 @@ if ('onhashchange' in window) {
 <span id="L231" class="LineNr"> 231 </span><span class="Delimiter">}</span>
 <span id="L232" class="LineNr"> 232 </span>address_element_info::<a href='036refcount.cc.html#L232'>~address_element_info</a><span class="Delimiter">()</span> <span class="Delimiter">{</span>
 <span id="L233" class="LineNr"> 233 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span><a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L234" class="LineNr"> 234 </span>    <span class="Normal">delete</span> <a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">;</span>
-<span id="L235" class="LineNr"> 235 </span>    <a href='030container.cc.html#L238'>payload_type</a> = <span class="Constant">NULL</span><span class="Delimiter">;</span>
+<span id="L234" class="LineNr"> 234 </span>  <span class="Conceal">¦</span> <span class="Normal">delete</span> <a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">;</span>
+<span id="L235" class="LineNr"> 235 </span>  <span class="Conceal">¦</span> <a href='030container.cc.html#L238'>payload_type</a> = <span class="Constant">NULL</span><span class="Delimiter">;</span>
 <span id="L236" class="LineNr"> 236 </span>  <span class="Delimiter">}</span>
 <span id="L237" class="LineNr"> 237 </span><span class="Delimiter">}</span>
 <span id="L238" class="LineNr"> 238 </span>address_element_info&amp; address_element_info::<span class="Normal">operator</span>=<span class="Delimiter">(</span><span class="Normal">const</span> address_element_info&amp; other<span class="Delimiter">)</span> <span class="Delimiter">{</span>
@@ -326,8 +327,8 @@ if ('onhashchange' in window) {
 <span id="L263" class="LineNr"> 263 </span><span class="Normal">bool</span> <span class="Normal">operator</span>&lt;<span class="Delimiter">(</span><span class="Normal">const</span> set&lt;tag_condition_info&gt;&amp; a<span class="Delimiter">,</span> <span class="Normal">const</span> set&lt;tag_condition_info&gt;&amp; b<span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L264" class="LineNr"> 264 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>a<span class="Delimiter">.</span>size<span class="Delimiter">()</span> != b<span class="Delimiter">.</span>size<span class="Delimiter">())</span> <span class="Identifier">return</span> a<span class="Delimiter">.</span>size<span class="Delimiter">()</span> &lt; b<span class="Delimiter">.</span>size<span class="Delimiter">();</span>
 <span id="L265" class="LineNr"> 265 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span>set&lt;tag_condition_info&gt;::const_iterator pa = a<span class="Delimiter">.</span>begin<span class="Delimiter">(),</span> pb = b<span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  pa != a<span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++pa<span class="Delimiter">,</span> ++pb<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L266" class="LineNr"> 266 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>pa<span class="Delimiter">-&gt;</span>offset != pb<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">)</span> <span class="Identifier">return</span> pa<span class="Delimiter">-&gt;</span>offset &lt; pb<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">;</span>
-<span id="L267" class="LineNr"> 267 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>pa<span class="Delimiter">-&gt;</span>tag != pb<span class="Delimiter">-&gt;</span>tag<span class="Delimiter">)</span> <span class="Identifier">return</span> pa<span class="Delimiter">-&gt;</span>tag &lt; pb<span class="Delimiter">-&gt;</span>tag<span class="Delimiter">;</span>
+<span id="L266" class="LineNr"> 266 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>pa<span class="Delimiter">-&gt;</span>offset != pb<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">)</span> <span class="Identifier">return</span> pa<span class="Delimiter">-&gt;</span>offset &lt; pb<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">;</span>
+<span id="L267" class="LineNr"> 267 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>pa<span class="Delimiter">-&gt;</span>tag != pb<span class="Delimiter">-&gt;</span>tag<span class="Delimiter">)</span> <span class="Identifier">return</span> pa<span class="Delimiter">-&gt;</span>tag &lt; pb<span class="Delimiter">-&gt;</span>tag<span class="Delimiter">;</span>
 <span id="L268" class="LineNr"> 268 </span>  <span class="Delimiter">}</span>
 <span id="L269" class="LineNr"> 269 </span>  <span class="Identifier">return</span> <span class="Constant">false</span><span class="Delimiter">;</span>  <span class="Comment">// equal</span>
 <span id="L270" class="LineNr"> 270 </span><span class="Delimiter">}</span>
@@ -339,7 +340,7 @@ if ('onhashchange' in window) {
 <span id="L276" class="LineNr"> 276 </span><span class="Normal">bool</span> <span class="Normal">operator</span>&lt;<span class="Delimiter">(</span><span class="Normal">const</span> set&lt;address_element_info&gt;&amp; a<span class="Delimiter">,</span> <span class="Normal">const</span> set&lt;address_element_info&gt;&amp; b<span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L277" class="LineNr"> 277 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>a<span class="Delimiter">.</span>size<span class="Delimiter">()</span> != b<span class="Delimiter">.</span>size<span class="Delimiter">())</span> <span class="Identifier">return</span> a<span class="Delimiter">.</span>size<span class="Delimiter">()</span> &lt; b<span class="Delimiter">.</span>size<span class="Delimiter">();</span>
 <span id="L278" class="LineNr"> 278 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span>set&lt;address_element_info&gt;::const_iterator pa = a<span class="Delimiter">.</span>begin<span class="Delimiter">(),</span> pb = b<span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  pa != a<span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++pa<span class="Delimiter">,</span> ++pb<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L279" class="LineNr"> 279 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>pa<span class="Delimiter">-&gt;</span>offset != pb<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">)</span> <span class="Identifier">return</span> pa<span class="Delimiter">-&gt;</span>offset &lt; pb<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">;</span>
+<span id="L279" class="LineNr"> 279 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>pa<span class="Delimiter">-&gt;</span>offset != pb<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">)</span> <span class="Identifier">return</span> pa<span class="Delimiter">-&gt;</span>offset &lt; pb<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">;</span>
 <span id="L280" class="LineNr"> 280 </span>  <span class="Delimiter">}</span>
 <span id="L281" class="LineNr"> 281 </span>  <span class="Identifier">return</span> <span class="Constant">false</span><span class="Delimiter">;</span>  <span class="Comment">// equal</span>
 <span id="L282" class="LineNr"> 282 </span><span class="Delimiter">}</span>
@@ -358,12 +359,12 @@ if ('onhashchange' in window) {
 <span id="L295" class="LineNr"> 295 </span>  recipe&amp; caller = get<span class="Delimiter">(</span>Recipe<span class="Delimiter">,</span> r<span class="Delimiter">);</span>
 <span id="L296" class="LineNr"> 296 </span>  <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9992</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;--- compute <a href='043space.cc.html#L76'>address</a> offsets for &quot;</span> &lt;&lt; caller<span class="Delimiter">.</span>name &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
 <span id="L297" class="LineNr"> 297 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Constant">0</span><span class="Delimiter">;</span>  i &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>caller<span class="Delimiter">.</span>steps<span class="Delimiter">);</span>  ++i<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L298" class="LineNr"> 298 </span>    instruction&amp; inst = caller<span class="Delimiter">.</span>steps<span class="Delimiter">.</span>at<span class="Delimiter">(</span>i<span class="Delimiter">);</span>
-<span id="L299" class="LineNr"> 299 </span>    <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9993</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;- compute <a href='043space.cc.html#L76'>address</a> offsets for &quot;</span> &lt;&lt; <a href='028call_return.cc.html#L158'>to_string</a><span class="Delimiter">(</span>inst<span class="Delimiter">)</span> &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
-<span id="L300" class="LineNr"> 300 </span>    <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Constant">0</span><span class="Delimiter">;</span>  i &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">);</span>  ++i<span class="Delimiter">)</span>
-<span id="L301" class="LineNr"> 301 </span>      compute_container_address_offsets<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">.</span>at<span class="Delimiter">(</span>i<span class="Delimiter">),</span> <span class="Constant">&quot; in '&quot;</span>+to_original_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span>+<span class="Constant">&quot;'&quot;</span><span class="Delimiter">);</span>
-<span id="L302" class="LineNr"> 302 </span>    <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Constant">0</span><span class="Delimiter">;</span>  i &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>inst<span class="Delimiter">.</span>products<span class="Delimiter">);</span>  ++i<span class="Delimiter">)</span>
-<span id="L303" class="LineNr"> 303 </span>      compute_container_address_offsets<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>products<span class="Delimiter">.</span>at<span class="Delimiter">(</span>i<span class="Delimiter">),</span> <span class="Constant">&quot; in '&quot;</span>+to_original_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span>+<span class="Constant">&quot;'&quot;</span><span class="Delimiter">);</span>
+<span id="L298" class="LineNr"> 298 </span>  <span class="Conceal">¦</span> instruction&amp; inst = caller<span class="Delimiter">.</span>steps<span class="Delimiter">.</span>at<span class="Delimiter">(</span>i<span class="Delimiter">);</span>
+<span id="L299" class="LineNr"> 299 </span>  <span class="Conceal">¦</span> <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9993</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;- compute <a href='043space.cc.html#L76'>address</a> offsets for &quot;</span> &lt;&lt; <a href='028call_return.cc.html#L158'>to_string</a><span class="Delimiter">(</span>inst<span class="Delimiter">)</span> &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
+<span id="L300" class="LineNr"> 300 </span>  <span class="Conceal">¦</span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Constant">0</span><span class="Delimiter">;</span>  i &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">);</span>  ++i<span class="Delimiter">)</span>
+<span id="L301" class="LineNr"> 301 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> compute_container_address_offsets<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>ingredients<span class="Delimiter">.</span>at<span class="Delimiter">(</span>i<span class="Delimiter">),</span> <span class="Constant">&quot; in '&quot;</span>+to_original_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span>+<span class="Constant">&quot;'&quot;</span><span class="Delimiter">);</span>
+<span id="L302" class="LineNr"> 302 </span>  <span class="Conceal">¦</span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Constant">0</span><span class="Delimiter">;</span>  i &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>inst<span class="Delimiter">.</span>products<span class="Delimiter">);</span>  ++i<span class="Delimiter">)</span>
+<span id="L303" class="LineNr"> 303 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> compute_container_address_offsets<span class="Delimiter">(</span>inst<span class="Delimiter">.</span>products<span class="Delimiter">.</span>at<span class="Delimiter">(</span>i<span class="Delimiter">),</span> <span class="Constant">&quot; in '&quot;</span>+to_original_string<span class="Delimiter">(</span>inst<span class="Delimiter">)</span>+<span class="Constant">&quot;'&quot;</span><span class="Delimiter">);</span>
 <span id="L304" class="LineNr"> 304 </span>  <span class="Delimiter">}</span>
 <span id="L305" class="LineNr"> 305 </span><span class="Delimiter">}</span>
 <span id="L306" class="LineNr"> 306 </span>
@@ -371,7 +372,7 @@ if ('onhashchange' in window) {
 <span id="L308" class="LineNr"> 308 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>is_literal<span class="Delimiter">(</span>r<span class="Delimiter">)</span> || is_dummy<span class="Delimiter">(</span>r<span class="Delimiter">))</span> <span class="Identifier">return</span><span class="Delimiter">;</span>
 <span id="L309" class="LineNr"> 309 </span>  compute_container_address_offsets<span class="Delimiter">(</span>r<span class="Delimiter">.</span>type<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
 <span id="L310" class="LineNr"> 310 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>contains_key<span class="Delimiter">(</span>Container_metadata<span class="Delimiter">,</span> r<span class="Delimiter">.</span>type<span class="Delimiter">))</span>
-<span id="L311" class="LineNr"> 311 </span>    r<span class="Delimiter">.</span>metadata = get<span class="Delimiter">(</span>Container_metadata<span class="Delimiter">,</span> r<span class="Delimiter">.</span>type<span class="Delimiter">);</span>
+<span id="L311" class="LineNr"> 311 </span>  <span class="Conceal">¦</span> r<span class="Delimiter">.</span>metadata = get<span class="Delimiter">(</span>Container_metadata<span class="Delimiter">,</span> r<span class="Delimiter">.</span>type<span class="Delimiter">);</span>
 <span id="L312" class="LineNr"> 312 </span><span class="Delimiter">}</span>
 <span id="L313" class="LineNr"> 313 </span>
 <span id="L314" class="LineNr"> 314 </span><span class="Comment">// the recursive structure of this function needs to exactly match</span>
@@ -379,25 +380,25 @@ if ('onhashchange' in window) {
 <span id="L316" class="LineNr"> 316 </span><span class="Normal">void</span> compute_container_address_offsets<span class="Delimiter">(</span><span class="Normal">const</span> type_tree* type<span class="Delimiter">,</span> <span class="Normal">const</span> string&amp; location_for_error_messages<span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L317" class="LineNr"> 317 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>!type<span class="Delimiter">)</span> <span class="Identifier">return</span><span class="Delimiter">;</span>
 <span id="L318" class="LineNr"> 318 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>!type<span class="Delimiter">-&gt;</span>atom<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L319" class="LineNr"> 319 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>!type<span class="Delimiter">-&gt;</span>left<span class="Delimiter">-&gt;</span>atom<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L320" class="LineNr"> 320 </span>      <a href='003trace.cc.html#L168'>raise</a> &lt;&lt; <span class="Constant">&quot;invalid type &quot;</span> &lt;&lt; <a href='028call_return.cc.html#L158'>to_string</a><span class="Delimiter">(</span>type<span class="Delimiter">)</span> &lt;&lt; location_for_error_messages &lt;&lt; <span class="cSpecial">'\n'</span> &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
-<span id="L321" class="LineNr"> 321 </span>      <span class="Identifier">return</span><span class="Delimiter">;</span>
-<span id="L322" class="LineNr"> 322 </span>    <span class="Delimiter">}</span>
-<span id="L323" class="LineNr"> 323 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>type<span class="Delimiter">-&gt;</span>left<span class="Delimiter">-&gt;</span>name == <span class="Constant">&quot;address&quot;</span><span class="Delimiter">)</span>
-<span id="L324" class="LineNr"> 324 </span>      compute_container_address_offsets<span class="Delimiter">(</span><a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">(</span>type<span class="Delimiter">),</span> location_for_error_messages<span class="Delimiter">);</span>
-<span id="L325" class="LineNr"> 325 </span>    <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>type<span class="Delimiter">-&gt;</span>left<span class="Delimiter">-&gt;</span>name == <span class="Constant">&quot;array&quot;</span><span class="Delimiter">)</span>
-<span id="L326" class="LineNr"> 326 </span>      compute_container_address_offsets<span class="Delimiter">(</span><a href='032array.cc.html#L370'>array_element</a><span class="Delimiter">(</span>type<span class="Delimiter">),</span> location_for_error_messages<span class="Delimiter">);</span>
-<span id="L327" class="LineNr"> 327 </span>    <span class="Comment">// End compute_container_address_offsets Non-atom Special-cases</span>
+<span id="L319" class="LineNr"> 319 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!type<span class="Delimiter">-&gt;</span>left<span class="Delimiter">-&gt;</span>atom<span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L320" class="LineNr"> 320 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='003trace.cc.html#L168'>raise</a> &lt;&lt; <span class="Constant">&quot;invalid type &quot;</span> &lt;&lt; <a href='028call_return.cc.html#L158'>to_string</a><span class="Delimiter">(</span>type<span class="Delimiter">)</span> &lt;&lt; location_for_error_messages &lt;&lt; <span class="cSpecial">'\n'</span> &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
+<span id="L321" class="LineNr"> 321 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Identifier">return</span><span class="Delimiter">;</span>
+<span id="L322" class="LineNr"> 322 </span>  <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L323" class="LineNr"> 323 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>type<span class="Delimiter">-&gt;</span>left<span class="Delimiter">-&gt;</span>name == <span class="Constant">&quot;address&quot;</span><span class="Delimiter">)</span>
+<span id="L324" class="LineNr"> 324 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> compute_container_address_offsets<span class="Delimiter">(</span><a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">(</span>type<span class="Delimiter">),</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L325" class="LineNr"> 325 </span>  <span class="Conceal">¦</span> <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>type<span class="Delimiter">-&gt;</span>left<span class="Delimiter">-&gt;</span>name == <span class="Constant">&quot;array&quot;</span><span class="Delimiter">)</span>
+<span id="L326" class="LineNr"> 326 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> compute_container_address_offsets<span class="Delimiter">(</span><a href='032array.cc.html#L370'>array_element</a><span class="Delimiter">(</span>type<span class="Delimiter">),</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L327" class="LineNr"> 327 </span>  <span class="Conceal">¦</span> <span class="Comment">// End compute_container_address_offsets Non-atom Special-cases</span>
 <span id="L328" class="LineNr"> 328 </span>  <span class="Delimiter">}</span>
 <span id="L329" class="LineNr"> 329 </span>  <span class="Normal">const</span> type_tree* base_type = type<span class="Delimiter">;</span>
 <span id="L330" class="LineNr"> 330 </span>  <span class="Comment">// Update base_type in compute_container_address_offsets</span>
 <span id="L331" class="LineNr"> 331 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span>Type<span class="Delimiter">,</span> base_type<span class="Delimiter">-&gt;</span>value<span class="Delimiter">))</span> <span class="Identifier">return</span><span class="Delimiter">;</span>  <span class="Comment">// error raised elsewhere</span>
 <span id="L332" class="LineNr"> 332 </span>  type_info&amp; info = get<span class="Delimiter">(</span>Type<span class="Delimiter">,</span> base_type<span class="Delimiter">-&gt;</span>value<span class="Delimiter">);</span>
 <span id="L333" class="LineNr"> 333 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>info<span class="Delimiter">.</span>kind == <a href='010vm.cc.html#L173'>CONTAINER</a><span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L334" class="LineNr"> 334 </span>    compute_container_address_offsets<span class="Delimiter">(</span>info<span class="Delimiter">,</span> type<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L334" class="LineNr"> 334 </span>  <span class="Conceal">¦</span> compute_container_address_offsets<span class="Delimiter">(</span>info<span class="Delimiter">,</span> type<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
 <span id="L335" class="LineNr"> 335 </span>  <span class="Delimiter">}</span>
 <span id="L336" class="LineNr"> 336 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>info<span class="Delimiter">.</span>kind == <a href='010vm.cc.html#L174'>EXCLUSIVE_CONTAINER</a><span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L337" class="LineNr"> 337 </span>    <a href='036refcount.cc.html#L348'>compute_exclusive_container_address_offsets</a><span class="Delimiter">(</span>info<span class="Delimiter">,</span> type<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L337" class="LineNr"> 337 </span>  <span class="Conceal">¦</span> <a href='036refcount.cc.html#L348'>compute_exclusive_container_address_offsets</a><span class="Delimiter">(</span>info<span class="Delimiter">,</span> type<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
 <span id="L338" class="LineNr"> 338 </span>  <span class="Delimiter">}</span>
 <span id="L339" class="LineNr"> 339 </span><span class="Delimiter">}</span>
 <span id="L340" class="LineNr"> 340 </span>
@@ -412,68 +413,68 @@ if ('onhashchange' in window) {
 <span id="L349" class="LineNr"> 349 </span>  container_metadata&amp; metadata = get<span class="Delimiter">(</span>Container_metadata<span class="Delimiter">,</span> full_type<span class="Delimiter">);</span>
 <span id="L350" class="LineNr"> 350 </span>  <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9994</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;compute <a href='043space.cc.html#L76'>address</a> offsets for exclusive container &quot;</span> &lt;&lt; exclusive_container_info<span class="Delimiter">.</span>name &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
 <span id="L351" class="LineNr"> 351 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> tag = <span class="Constant">0</span><span class="Delimiter">;</span>  tag &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>exclusive_container_info<span class="Delimiter">.</span>elements<span class="Delimiter">);</span>  ++tag<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L352" class="LineNr"> 352 </span>    set&lt;tag_condition_info&gt; key<span class="Delimiter">;</span>
-<span id="L353" class="LineNr"> 353 </span>    key<span class="Delimiter">.</span>insert<span class="Delimiter">(</span>tag_condition_info<span class="Delimiter">(</span><span class="Comment">/*</span><span class="Comment">tag is at offset</span><span class="Comment">*/</span><span class="Constant">0</span><span class="Delimiter">,</span> tag<span class="Delimiter">));</span>
-<span id="L354" class="LineNr"> 354 </span>    <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span><span class="Comment">/*</span><span class="Comment">skip tag offset</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">,</span> variant_type<span class="Delimiter">(</span>full_type<span class="Delimiter">,</span> tag<span class="Delimiter">).</span>type<span class="Delimiter">,</span> metadata<span class="Delimiter">.</span><a href='043space.cc.html#L76'>address</a><span class="Delimiter">,</span> key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L352" class="LineNr"> 352 </span>  <span class="Conceal">¦</span> set&lt;tag_condition_info&gt; key<span class="Delimiter">;</span>
+<span id="L353" class="LineNr"> 353 </span>  <span class="Conceal">¦</span> key<span class="Delimiter">.</span>insert<span class="Delimiter">(</span>tag_condition_info<span class="Delimiter">(</span><span class="Comment">/*</span><span class="Comment">tag is at offset</span><span class="Comment">*/</span><span class="Constant">0</span><span class="Delimiter">,</span> tag<span class="Delimiter">));</span>
+<span id="L354" class="LineNr"> 354 </span>  <span class="Conceal">¦</span> <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span><span class="Comment">/*</span><span class="Comment">skip tag offset</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">,</span> variant_type<span class="Delimiter">(</span>full_type<span class="Delimiter">,</span> tag<span class="Delimiter">).</span>type<span class="Delimiter">,</span> metadata<span class="Delimiter">.</span><a href='043space.cc.html#L76'>address</a><span class="Delimiter">,</span> key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
 <span id="L355" class="LineNr"> 355 </span>  <span class="Delimiter">}</span>
 <span id="L356" class="LineNr"> 356 </span><span class="Delimiter">}</span>
 <span id="L357" class="LineNr"> 357 </span>
 <span id="L358" class="LineNr"> 358 </span><span class="Normal">void</span> <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span><span class="Normal">int</span> base_offset<span class="Delimiter">,</span> <span class="Normal">const</span> type_tree* type<span class="Delimiter">,</span> map&lt;set&lt;tag_condition_info&gt;<span class="Delimiter">,</span> set&lt;address_element_info&gt; &gt;&amp; out<span class="Delimiter">,</span> <span class="Normal">const</span> set&lt;tag_condition_info&gt;&amp; key<span class="Delimiter">,</span> <span class="Normal">const</span> string&amp; location_for_error_messages<span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L359" class="LineNr"> 359 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_address<span class="Delimiter">(</span>type<span class="Delimiter">))</span> <span class="Delimiter">{</span>
-<span id="L360" class="LineNr"> 360 </span>    <a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>out<span class="Delimiter">,</span> key<span class="Delimiter">).</span>insert<span class="Delimiter">(</span>address_element_info<span class="Delimiter">(</span>base_offset<span class="Delimiter">,</span> <span class="Normal">new</span> type_tree<span class="Delimiter">(</span>*payload_type<span class="Delimiter">(</span>type<span class="Delimiter">))));</span>
-<span id="L361" class="LineNr"> 361 </span>    <span class="Identifier">return</span><span class="Delimiter">;</span>
+<span id="L360" class="LineNr"> 360 </span>  <span class="Conceal">¦</span> <a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>out<span class="Delimiter">,</span> key<span class="Delimiter">).</span>insert<span class="Delimiter">(</span>address_element_info<span class="Delimiter">(</span>base_offset<span class="Delimiter">,</span> <span class="Normal">new</span> type_tree<span class="Delimiter">(</span>*payload_type<span class="Delimiter">(</span>type<span class="Delimiter">))));</span>
+<span id="L361" class="LineNr"> 361 </span>  <span class="Conceal">¦</span> <span class="Identifier">return</span><span class="Delimiter">;</span>
 <span id="L362" class="LineNr"> 362 </span>  <span class="Delimiter">}</span>
 <span id="L363" class="LineNr"> 363 </span>  <span class="Normal">const</span> type_tree* base_type = type<span class="Delimiter">;</span>
 <span id="L364" class="LineNr"> 364 </span>  <span class="Comment">// Update base_type in append_container_address_offsets</span>
 <span id="L365" class="LineNr"> 365 </span>  <span class="Normal">const</span> type_info&amp; info = get<span class="Delimiter">(</span>Type<span class="Delimiter">,</span> base_type<span class="Delimiter">-&gt;</span>value<span class="Delimiter">);</span>
 <span id="L366" class="LineNr"> 366 </span>  <span class="Normal">if</span> <span class="Delimiter">(</span>info<span class="Delimiter">.</span>kind == <a href='010vm.cc.html#L173'>CONTAINER</a><span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L367" class="LineNr"> 367 </span>    <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> curr_index = <span class="Constant">0</span><span class="Delimiter">,</span> curr_offset = base_offset<span class="Delimiter">;</span>  curr_index &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>info<span class="Delimiter">.</span>elements<span class="Delimiter">);</span>  ++curr_index<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L368" class="LineNr"> 368 </span>      <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9993</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;checking container &quot;</span> &lt;&lt; base_type<span class="Delimiter">-&gt;</span>name &lt;&lt; <span class="Constant">&quot;, element &quot;</span> &lt;&lt; curr_index &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
-<span id="L369" class="LineNr"> 369 </span>      reagent<span class="Comment">/*</span><span class="Comment">copy</span><span class="Comment">*/</span> element = <a href='030container.cc.html#L430'>element_type</a><span class="Delimiter">(</span>type<span class="Delimiter">,</span> curr_index<span class="Delimiter">);</span>  <span class="Comment">// not base_type</span>
-<span id="L370" class="LineNr"> 370 </span>      <span class="Comment">// Compute Container Address Offset(element)</span>
-<span id="L371" class="LineNr"> 371 </span>      <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_address<span class="Delimiter">(</span>element<span class="Delimiter">))</span> <span class="Delimiter">{</span>
-<span id="L372" class="LineNr"> 372 </span>        <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9993</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;address at offset &quot;</span> &lt;&lt; curr_offset &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
-<span id="L373" class="LineNr"> 373 </span>        <a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>out<span class="Delimiter">,</span> key<span class="Delimiter">).</span>insert<span class="Delimiter">(</span>address_element_info<span class="Delimiter">(</span>curr_offset<span class="Delimiter">,</span> <span class="Normal">new</span> type_tree<span class="Delimiter">(</span>*payload_type<span class="Delimiter">(</span>element<span class="Delimiter">.</span>type<span class="Delimiter">))));</span>
-<span id="L374" class="LineNr"> 374 </span>        ++curr_offset<span class="Delimiter">;</span>
-<span id="L375" class="LineNr"> 375 </span>      <span class="Delimiter">}</span>
-<span id="L376" class="LineNr"> 376 </span>      <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_array<span class="Delimiter">(</span>element<span class="Delimiter">))</span> <span class="Delimiter">{</span>
-<span id="L377" class="LineNr"> 377 </span>        curr_offset += <span class="Comment">/*</span><span class="Comment">array length</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">;</span>
-<span id="L378" class="LineNr"> 378 </span>        <span class="Normal">const</span> type_tree* array_element_type = <a href='032array.cc.html#L370'>array_element</a><span class="Delimiter">(</span>element<span class="Delimiter">.</span>type<span class="Delimiter">);</span>
-<span id="L379" class="LineNr"> 379 </span>        <span class="Normal">int</span> array_element_size = size_of<span class="Delimiter">(</span>array_element_type<span class="Delimiter">);</span>
-<span id="L380" class="LineNr"> 380 </span>        <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Constant">0</span><span class="Delimiter">;</span> i &lt; <a href='032array.cc.html#L117'>static_array_length</a><span class="Delimiter">(</span>element<span class="Delimiter">.</span>type<span class="Delimiter">);</span> ++i<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L381" class="LineNr"> 381 </span>          <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span>curr_offset<span class="Delimiter">,</span> array_element_type<span class="Delimiter">,</span> out<span class="Delimiter">,</span> key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
-<span id="L382" class="LineNr"> 382 </span>          curr_offset += array_element_size<span class="Delimiter">;</span>
-<span id="L383" class="LineNr"> 383 </span>        <span class="Delimiter">}</span>
-<span id="L384" class="LineNr"> 384 </span>      <span class="Delimiter">}</span>
-<span id="L385" class="LineNr"> 385 </span>      <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_container<span class="Delimiter">(</span>element<span class="Delimiter">))</span> <span class="Delimiter">{</span>
-<span id="L386" class="LineNr"> 386 </span>        <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span>curr_offset<span class="Delimiter">,</span> element<span class="Delimiter">.</span>type<span class="Delimiter">,</span> out<span class="Delimiter">,</span> key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
-<span id="L387" class="LineNr"> 387 </span>        curr_offset += size_of<span class="Delimiter">(</span>element<span class="Delimiter">);</span>
-<span id="L388" class="LineNr"> 388 </span>      <span class="Delimiter">}</span>
-<span id="L389" class="LineNr"> 389 </span>      <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_exclusive_container<span class="Delimiter">(</span>element<span class="Delimiter">))</span> <span class="Delimiter">{</span>
-<span id="L390" class="LineNr"> 390 </span>        <span class="Normal">const</span> type_tree* element_base_type = element<span class="Delimiter">.</span>type<span class="Delimiter">;</span>
-<span id="L391" class="LineNr"> 391 </span>        <span class="Comment">// Update element_base_type For Exclusive Container in append_addresses</span>
-<span id="L392" class="LineNr"> 392 </span>        <span class="Normal">const</span> type_info&amp; element_info = get<span class="Delimiter">(</span>Type<span class="Delimiter">,</span> element_base_type<span class="Delimiter">-&gt;</span>value<span class="Delimiter">);</span>
-<span id="L393" class="LineNr"> 393 </span>        <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> tag = <span class="Constant">0</span><span class="Delimiter">;</span>  tag &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>element_info<span class="Delimiter">.</span>elements<span class="Delimiter">);</span>  ++tag<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L394" class="LineNr"> 394 </span>          set&lt;tag_condition_info&gt; new_key = key<span class="Delimiter">;</span>
-<span id="L395" class="LineNr"> 395 </span>          new_key<span class="Delimiter">.</span>insert<span class="Delimiter">(</span>tag_condition_info<span class="Delimiter">(</span>curr_offset<span class="Delimiter">,</span> tag<span class="Delimiter">));</span>
-<span id="L396" class="LineNr"> 396 </span>          <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span>out<span class="Delimiter">,</span> new_key<span class="Delimiter">))</span>
-<span id="L397" class="LineNr"> 397 </span>            <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span>curr_offset+<span class="Comment">/*</span><span class="Comment">skip tag</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">,</span> variant_type<span class="Delimiter">(</span>element<span class="Delimiter">.</span>type<span class="Delimiter">,</span> tag<span class="Delimiter">).</span>type<span class="Delimiter">,</span> out<span class="Delimiter">,</span> new_key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
-<span id="L398" class="LineNr"> 398 </span>        <span class="Delimiter">}</span>
-<span id="L399" class="LineNr"> 399 </span>        curr_offset += size_of<span class="Delimiter">(</span>element<span class="Delimiter">);</span>
-<span id="L400" class="LineNr"> 400 </span>      <span class="Delimiter">}</span>
-<span id="L401" class="LineNr"> 401 </span>      <span class="Normal">else</span> <span class="Delimiter">{</span>
-<span id="L402" class="LineNr"> 402 </span>        <span class="Comment">// non-address primitive</span>
-<span id="L403" class="LineNr"> 403 </span>        ++curr_offset<span class="Delimiter">;</span>
-<span id="L404" class="LineNr"> 404 </span>      <span class="Delimiter">}</span>
-<span id="L405" class="LineNr"> 405 </span>    <span class="Delimiter">}</span>
+<span id="L367" class="LineNr"> 367 </span>  <span class="Conceal">¦</span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> curr_index = <span class="Constant">0</span><span class="Delimiter">,</span> curr_offset = base_offset<span class="Delimiter">;</span>  curr_index &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>info<span class="Delimiter">.</span>elements<span class="Delimiter">);</span>  ++curr_index<span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L368" class="LineNr"> 368 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9993</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;checking container &quot;</span> &lt;&lt; base_type<span class="Delimiter">-&gt;</span>name &lt;&lt; <span class="Constant">&quot;, element &quot;</span> &lt;&lt; curr_index &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
+<span id="L369" class="LineNr"> 369 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> reagent<span class="Comment">/*</span><span class="Comment">copy</span><span class="Comment">*/</span> element = <a href='030container.cc.html#L430'>element_type</a><span class="Delimiter">(</span>type<span class="Delimiter">,</span> curr_index<span class="Delimiter">);</span>  <span class="Comment">// not base_type</span>
+<span id="L370" class="LineNr"> 370 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment">// Compute Container Address Offset(element)</span>
+<span id="L371" class="LineNr"> 371 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_address<span class="Delimiter">(</span>element<span class="Delimiter">))</span> <span class="Delimiter">{</span>
+<span id="L372" class="LineNr"> 372 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9993</span><span class="Delimiter">,</span> <span class="Constant">&quot;transform&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;address at offset &quot;</span> &lt;&lt; curr_offset &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
+<span id="L373" class="LineNr"> 373 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>out<span class="Delimiter">,</span> key<span class="Delimiter">).</span>insert<span class="Delimiter">(</span>address_element_info<span class="Delimiter">(</span>curr_offset<span class="Delimiter">,</span> <span class="Normal">new</span> type_tree<span class="Delimiter">(</span>*payload_type<span class="Delimiter">(</span>element<span class="Delimiter">.</span>type<span class="Delimiter">))));</span>
+<span id="L374" class="LineNr"> 374 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> ++curr_offset<span class="Delimiter">;</span>
+<span id="L375" class="LineNr"> 375 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L376" class="LineNr"> 376 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_array<span class="Delimiter">(</span>element<span class="Delimiter">))</span> <span class="Delimiter">{</span>
+<span id="L377" class="LineNr"> 377 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> curr_offset += <span class="Comment">/*</span><span class="Comment">array length</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">;</span>
+<span id="L378" class="LineNr"> 378 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">const</span> type_tree* array_element_type = <a href='032array.cc.html#L370'>array_element</a><span class="Delimiter">(</span>element<span class="Delimiter">.</span>type<span class="Delimiter">);</span>
+<span id="L379" class="LineNr"> 379 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">int</span> array_element_size = size_of<span class="Delimiter">(</span>array_element_type<span class="Delimiter">);</span>
+<span id="L380" class="LineNr"> 380 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> i = <span class="Constant">0</span><span class="Delimiter">;</span> i &lt; <a href='032array.cc.html#L117'>static_array_length</a><span class="Delimiter">(</span>element<span class="Delimiter">.</span>type<span class="Delimiter">);</span> ++i<span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L381" class="LineNr"> 381 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span>curr_offset<span class="Delimiter">,</span> array_element_type<span class="Delimiter">,</span> out<span class="Delimiter">,</span> key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L382" class="LineNr"> 382 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> curr_offset += array_element_size<span class="Delimiter">;</span>
+<span id="L383" class="LineNr"> 383 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L384" class="LineNr"> 384 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L385" class="LineNr"> 385 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_container<span class="Delimiter">(</span>element<span class="Delimiter">))</span> <span class="Delimiter">{</span>
+<span id="L386" class="LineNr"> 386 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span>curr_offset<span class="Delimiter">,</span> element<span class="Delimiter">.</span>type<span class="Delimiter">,</span> out<span class="Delimiter">,</span> key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L387" class="LineNr"> 387 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> curr_offset += size_of<span class="Delimiter">(</span>element<span class="Delimiter">);</span>
+<span id="L388" class="LineNr"> 388 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L389" class="LineNr"> 389 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_exclusive_container<span class="Delimiter">(</span>element<span class="Delimiter">))</span> <span class="Delimiter">{</span>
+<span id="L390" class="LineNr"> 390 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">const</span> type_tree* element_base_type = element<span class="Delimiter">.</span>type<span class="Delimiter">;</span>
+<span id="L391" class="LineNr"> 391 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment">// Update element_base_type For Exclusive Container in append_addresses</span>
+<span id="L392" class="LineNr"> 392 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">const</span> type_info&amp; element_info = get<span class="Delimiter">(</span>Type<span class="Delimiter">,</span> element_base_type<span class="Delimiter">-&gt;</span>value<span class="Delimiter">);</span>
+<span id="L393" class="LineNr"> 393 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> tag = <span class="Constant">0</span><span class="Delimiter">;</span>  tag &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>element_info<span class="Delimiter">.</span>elements<span class="Delimiter">);</span>  ++tag<span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L394" class="LineNr"> 394 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> set&lt;tag_condition_info&gt; new_key = key<span class="Delimiter">;</span>
+<span id="L395" class="LineNr"> 395 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> new_key<span class="Delimiter">.</span>insert<span class="Delimiter">(</span>tag_condition_info<span class="Delimiter">(</span>curr_offset<span class="Delimiter">,</span> tag<span class="Delimiter">));</span>
+<span id="L396" class="LineNr"> 396 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span>out<span class="Delimiter">,</span> new_key<span class="Delimiter">))</span>
+<span id="L397" class="LineNr"> 397 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span>curr_offset+<span class="Comment">/*</span><span class="Comment">skip tag</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">,</span> variant_type<span class="Delimiter">(</span>element<span class="Delimiter">.</span>type<span class="Delimiter">,</span> tag<span class="Delimiter">).</span>type<span class="Delimiter">,</span> out<span class="Delimiter">,</span> new_key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L398" class="LineNr"> 398 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L399" class="LineNr"> 399 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> curr_offset += size_of<span class="Delimiter">(</span>element<span class="Delimiter">);</span>
+<span id="L400" class="LineNr"> 400 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L401" class="LineNr"> 401 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">else</span> <span class="Delimiter">{</span>
+<span id="L402" class="LineNr"> 402 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Comment">// non-address primitive</span>
+<span id="L403" class="LineNr"> 403 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> ++curr_offset<span class="Delimiter">;</span>
+<span id="L404" class="LineNr"> 404 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Delimiter">}</span>
+<span id="L405" class="LineNr"> 405 </span>  <span class="Conceal">¦</span> <span class="Delimiter">}</span>
 <span id="L406" class="LineNr"> 406 </span>  <span class="Delimiter">}</span>
 <span id="L407" class="LineNr"> 407 </span>  <span class="Normal">else</span> <span class="Normal">if</span> <span class="Delimiter">(</span>info<span class="Delimiter">.</span>kind == <a href='010vm.cc.html#L174'>EXCLUSIVE_CONTAINER</a><span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L408" class="LineNr"> 408 </span>    <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> tag = <span class="Constant">0</span><span class="Delimiter">;</span>  tag &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>info<span class="Delimiter">.</span>elements<span class="Delimiter">);</span>  ++tag<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L409" class="LineNr"> 409 </span>      set&lt;tag_condition_info&gt; new_key = key<span class="Delimiter">;</span>
-<span id="L410" class="LineNr"> 410 </span>      new_key<span class="Delimiter">.</span>insert<span class="Delimiter">(</span>tag_condition_info<span class="Delimiter">(</span>base_offset<span class="Delimiter">,</span> tag<span class="Delimiter">));</span>
-<span id="L411" class="LineNr"> 411 </span>      <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span>out<span class="Delimiter">,</span> new_key<span class="Delimiter">))</span>
-<span id="L412" class="LineNr"> 412 </span>        <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span>base_offset+<span class="Comment">/*</span><span class="Comment">skip tag</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">,</span> variant_type<span class="Delimiter">(</span>type<span class="Delimiter">,</span> tag<span class="Delimiter">).</span>type<span class="Delimiter">,</span> out<span class="Delimiter">,</span> new_key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
-<span id="L413" class="LineNr"> 413 </span>    <span class="Delimiter">}</span>
+<span id="L408" class="LineNr"> 408 </span>  <span class="Conceal">¦</span> <span class="Normal">for</span> <span class="Delimiter">(</span><span class="Normal">int</span> tag = <span class="Constant">0</span><span class="Delimiter">;</span>  tag &lt; <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>info<span class="Delimiter">.</span>elements<span class="Delimiter">);</span>  ++tag<span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L409" class="LineNr"> 409 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> set&lt;tag_condition_info&gt; new_key = key<span class="Delimiter">;</span>
+<span id="L410" class="LineNr"> 410 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> new_key<span class="Delimiter">.</span>insert<span class="Delimiter">(</span>tag_condition_info<span class="Delimiter">(</span>base_offset<span class="Delimiter">,</span> tag<span class="Delimiter">));</span>
+<span id="L411" class="LineNr"> 411 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!contains_key<span class="Delimiter">(</span>out<span class="Delimiter">,</span> new_key<span class="Delimiter">))</span>
+<span id="L412" class="LineNr"> 412 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='036refcount.cc.html#L358'>append_addresses</a><span class="Delimiter">(</span>base_offset+<span class="Comment">/*</span><span class="Comment">skip tag</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">,</span> variant_type<span class="Delimiter">(</span>type<span class="Delimiter">,</span> tag<span class="Delimiter">).</span>type<span class="Delimiter">,</span> out<span class="Delimiter">,</span> new_key<span class="Delimiter">,</span> location_for_error_messages<span class="Delimiter">);</span>
+<span id="L413" class="LineNr"> 413 </span>  <span class="Conceal">¦</span> <span class="Delimiter">}</span>
 <span id="L414" class="LineNr"> 414 </span>  <span class="Delimiter">}</span>
 <span id="L415" class="LineNr"> 415 </span><span class="Delimiter">}</span>
 <span id="L416" class="LineNr"> 416 </span>
@@ -503,8 +504,8 @@ if ('onhashchange' in window) {
 <span id="L440" class="LineNr"> 440 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L441" class="LineNr"> 441 </span>  <span class="Comment">// define a container with an address at offset 0 that we have the size for</span>
 <span id="L442" class="LineNr"> 442 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L443" class="LineNr"> 443 </span>      <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L444" class="LineNr"> 444 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L443" class="LineNr"> 443 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L444" class="LineNr"> 444 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L445" class="LineNr"> 445 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:foo&quot;</span><span class="Delimiter">);</span>
 <span id="L446" class="LineNr"> 446 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
 <span id="L447" class="LineNr"> 447 </span>  <span class="Comment">// scan</span>
@@ -535,9 +536,9 @@ if ('onhashchange' in window) {
 <span id="L472" class="LineNr"> 472 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L473" class="LineNr"> 473 </span>  <span class="Comment">// define a container with an address at offset 1 that we have the size for</span>
 <span id="L474" class="LineNr"> 474 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L475" class="LineNr"> 475 </span>      <span class="Constant">&quot;  x:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L476" class="LineNr"> 476 </span>      <span class="Constant">&quot;  y:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L477" class="LineNr"> 477 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L475" class="LineNr"> 475 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L476" class="LineNr"> 476 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  y:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L477" class="LineNr"> 477 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L478" class="LineNr"> 478 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:foo&quot;</span><span class="Delimiter">);</span>
 <span id="L479" class="LineNr"> 479 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
 <span id="L480" class="LineNr"> 480 </span>  <span class="Comment">// global metadata contains just the entry for foo</span>
@@ -568,13 +569,13 @@ if ('onhashchange' in window) {
 <span id="L505" class="LineNr"> 505 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L506" class="LineNr"> 506 </span>  <span class="Comment">// define a container with a nested container containing an address</span>
 <span id="L507" class="LineNr"> 507 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L508" class="LineNr"> 508 </span>      <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L509" class="LineNr"> 509 </span>      <span class="Constant">&quot;  y:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L510" class="LineNr"> 510 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L511" class="LineNr"> 511 </span>      <span class="Constant">&quot;container bar [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L512" class="LineNr"> 512 </span>      <span class="Constant">&quot;  p:point</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L513" class="LineNr"> 513 </span>      <span class="Constant">&quot;  f:foo</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>  <span class="Comment">// nested container containing address</span>
-<span id="L514" class="LineNr"> 514 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L508" class="LineNr"> 508 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L509" class="LineNr"> 509 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  y:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L510" class="LineNr"> 510 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L511" class="LineNr"> 511 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;container bar [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L512" class="LineNr"> 512 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  p:point</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L513" class="LineNr"> 513 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  f:foo</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>  <span class="Comment">// nested container containing address</span>
+<span id="L514" class="LineNr"> 514 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L515" class="LineNr"> 515 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:bar&quot;</span><span class="Delimiter">);</span>
 <span id="L516" class="LineNr"> 516 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
 <span id="L517" class="LineNr"> 517 </span>  <span class="Comment">// global metadata contains entries for bar and included types: point and foo</span>
@@ -605,8 +606,8 @@ if ('onhashchange' in window) {
 <span id="L542" class="LineNr"> 542 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L543" class="LineNr"> 543 </span>  <span class="Comment">// define a container with an address at offset 0</span>
 <span id="L544" class="LineNr"> 544 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L545" class="LineNr"> 545 </span>      <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L546" class="LineNr"> 546 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L545" class="LineNr"> 545 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L546" class="LineNr"> 546 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L547" class="LineNr"> 547 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:<a href='043space.cc.html#L76'>address</a>:foo&quot;</span><span class="Delimiter">);</span>
 <span id="L548" class="LineNr"> 548 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
 <span id="L549" class="LineNr"> 549 </span>  <span class="Comment">// global metadata contains just the entry for foo</span>
@@ -630,8 +631,8 @@ if ('onhashchange' in window) {
 <span id="L567" class="LineNr"> 567 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L568" class="LineNr"> 568 </span>  <span class="Comment">// define a container with an address at offset 0</span>
 <span id="L569" class="LineNr"> 569 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L570" class="LineNr"> 570 </span>      <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L571" class="LineNr"> 571 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L570" class="LineNr"> 570 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L571" class="LineNr"> 571 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L572" class="LineNr"> 572 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:array:foo&quot;</span><span class="Delimiter">);</span>
 <span id="L573" class="LineNr"> 573 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
 <span id="L574" class="LineNr"> 574 </span>  <span class="Comment">// global metadata contains just the entry for foo</span>
@@ -655,8 +656,8 @@ if ('onhashchange' in window) {
 <span id="L592" class="LineNr"> 592 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L593" class="LineNr"> 593 </span>  <span class="Comment">// define a container with an address at offset 0</span>
 <span id="L594" class="LineNr"> 594 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L595" class="LineNr"> 595 </span>      <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L596" class="LineNr"> 596 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L595" class="LineNr"> 595 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L596" class="LineNr"> 596 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L597" class="LineNr"> 597 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:<a href='043space.cc.html#L76'>address</a>:array:foo&quot;</span><span class="Delimiter">);</span>
 <span id="L598" class="LineNr"> 598 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
 <span id="L599" class="LineNr"> 599 </span>  <span class="Comment">// global metadata contains just the entry for foo</span>
@@ -680,8 +681,8 @@ if ('onhashchange' in window) {
 <span id="L617" class="LineNr"> 617 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L618" class="LineNr"> 618 </span>  <span class="Comment">// define a container with an address at offset 0</span>
 <span id="L619" class="LineNr"> 619 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L620" class="LineNr"> 620 </span>      <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L621" class="LineNr"> 621 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L620" class="LineNr"> 620 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L621" class="LineNr"> 621 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L622" class="LineNr"> 622 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:array:foo:10&quot;</span><span class="Delimiter">);</span>
 <span id="L623" class="LineNr"> 623 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
 <span id="L624" class="LineNr"> 624 </span>  <span class="Comment">// global metadata contains just the entry for foo</span>
@@ -705,8 +706,8 @@ if ('onhashchange' in window) {
 <span id="L642" class="LineNr"> 642 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L643" class="LineNr"> 643 </span>  <span class="Comment">// define a container with an address at offset 0</span>
 <span id="L644" class="LineNr"> 644 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L645" class="LineNr"> 645 </span>      <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L646" class="LineNr"> 646 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L645" class="LineNr"> 645 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L646" class="LineNr"> 646 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L647" class="LineNr"> 647 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:<a href='043space.cc.html#L76'>address</a>:array:foo:10&quot;</span><span class="Delimiter">);</span>
 <span id="L648" class="LineNr"> 648 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
 <span id="L649" class="LineNr"> 649 </span>  <span class="Comment">// global metadata contains just the entry for foo</span>
@@ -730,8 +731,8 @@ if ('onhashchange' in window) {
 <span id="L667" class="LineNr"> 667 </span>  <span class="Normal">int</span> old_size = <a href='001help.cc.html#L138'>SIZE</a><span class="Delimiter">(</span>Container_metadata<span class="Delimiter">);</span>
 <span id="L668" class="LineNr"> 668 </span>  <span class="Comment">// define a container with an address at offset 0</span>
 <span id="L669" class="LineNr"> 669 </span>  run<span class="Delimiter">(</span><span class="Constant">&quot;container foo [</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L670" class="LineNr"> 670 </span>      <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
-<span id="L671" class="LineNr"> 671 </span>      <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
+<span id="L670" class="LineNr"> 670 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;  x:<a href='043space.cc.html#L76'>address</a>:num</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span>
+<span id="L671" class="LineNr"> 671 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Constant">&quot;]</span><span class="cSpecial">\n</span><span class="Constant">&quot;</span><span class="Delimiter">);</span>
 <span id="L672" class="LineNr"> 672 </span>  <span class="Comment">// scan a deep nest of 'address' and 'array' types modifying a container</span>
 <span id="L673" class="LineNr"> 673 </span>  reagent r<span class="Delimiter">(</span><span class="Constant">&quot;x:<a href='043space.cc.html#L76'>address</a>:array:<a href='043space.cc.html#L76'>address</a>:<a href='043space.cc.html#L76'>address</a>:array:foo:10&quot;</span><span class="Delimiter">);</span>
 <span id="L674" class="LineNr"> 674 </span>  compute_container_sizes<span class="Delimiter">(</span>r<span class="Delimiter">,</span> <span class="Constant">&quot;&quot;</span><span class="Delimiter">);</span>  <span class="Comment">// need to first pre-populate the metadata</span>
@@ -758,9 +759,9 @@ if ('onhashchange' in window) {
 <span id="L695" class="LineNr"> 695 </span><span class="Normal">if</span> <span class="Delimiter">(</span>is_mu_container<span class="Delimiter">(</span>canonized_x<span class="Delimiter">)</span> || is_mu_exclusive_container<span class="Delimiter">(</span>canonized_x<span class="Delimiter">))</span> <span class="Delimiter">{</span>
 <span id="L696" class="LineNr"> 696 </span>  <span class="Normal">const</span> container_metadata&amp; metadata = get<span class="Delimiter">(</span>Container_metadata<span class="Delimiter">,</span> canonized_x<span class="Delimiter">.</span>type<span class="Delimiter">);</span>
 <span id="L697" class="LineNr"> 697 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span>map&lt;set&lt;tag_condition_info&gt;<span class="Delimiter">,</span> set&lt;address_element_info&gt; &gt;::const_iterator p = metadata<span class="Delimiter">.</span><a href='043space.cc.html#L76'>address</a><span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  p != metadata<span class="Delimiter">.</span><a href='043space.cc.html#L76'>address</a><span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++p<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L698" class="LineNr"> 698 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>!all_match<span class="Delimiter">(</span>data<span class="Delimiter">,</span> p<span class="Delimiter">-&gt;</span>first<span class="Delimiter">))</span> <span class="Identifier">continue</span><span class="Delimiter">;</span>
-<span id="L699" class="LineNr"> 699 </span>    <span class="Normal">for</span> <span class="Delimiter">(</span>set&lt;address_element_info&gt;::const_iterator info = p<span class="Delimiter">-&gt;</span>second<span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  info != p<span class="Delimiter">-&gt;</span>second<span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++info<span class="Delimiter">)</span>
-<span id="L700" class="LineNr"> 700 </span>      <a href='036refcount.cc.html#L43'>increment_refcount</a><span class="Delimiter">(</span>data<span class="Delimiter">.</span>at<span class="Delimiter">(</span>info<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">));</span>
+<span id="L698" class="LineNr"> 698 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!all_match<span class="Delimiter">(</span>data<span class="Delimiter">,</span> p<span class="Delimiter">-&gt;</span>first<span class="Delimiter">))</span> <span class="Identifier">continue</span><span class="Delimiter">;</span>
+<span id="L699" class="LineNr"> 699 </span>  <span class="Conceal">¦</span> <span class="Normal">for</span> <span class="Delimiter">(</span>set&lt;address_element_info&gt;::const_iterator info = p<span class="Delimiter">-&gt;</span>second<span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  info != p<span class="Delimiter">-&gt;</span>second<span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++info<span class="Delimiter">)</span>
+<span id="L700" class="LineNr"> 700 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='036refcount.cc.html#L43'>increment_refcount</a><span class="Delimiter">(</span>data<span class="Delimiter">.</span>at<span class="Delimiter">(</span>info<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">));</span>
 <span id="L701" class="LineNr"> 701 </span>  <span class="Delimiter">}</span>
 <span id="L702" class="LineNr"> 702 </span><span class="Delimiter">}</span>
 <span id="L703" class="LineNr"> 703 </span>
@@ -775,22 +776,22 @@ if ('onhashchange' in window) {
 <span id="L712" class="LineNr"> 712 </span>  <a href='003trace.cc.html#L161'>trace</a><span class="Delimiter">(</span><span class="Constant">9999</span><span class="Delimiter">,</span> <span class="Constant">&quot;mem&quot;</span><span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;done reading old value of '&quot;</span> &lt;&lt; to_string<span class="Delimiter">(</span>canonized_x<span class="Delimiter">)</span> &lt;&lt; <span class="Constant">&quot;'&quot;</span> &lt;&lt; <a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>
 <span id="L713" class="LineNr"> 713 </span>  <span class="Normal">const</span> container_metadata&amp; metadata = get<span class="Delimiter">(</span>Container_metadata<span class="Delimiter">,</span> canonized_x<span class="Delimiter">.</span>type<span class="Delimiter">);</span>
 <span id="L714" class="LineNr"> 714 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span>map&lt;set&lt;tag_condition_info&gt;<span class="Delimiter">,</span> set&lt;address_element_info&gt; &gt;::const_iterator p = metadata<span class="Delimiter">.</span><a href='043space.cc.html#L76'>address</a><span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  p != metadata<span class="Delimiter">.</span><a href='043space.cc.html#L76'>address</a><span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++p<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L715" class="LineNr"> 715 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>!all_match<span class="Delimiter">(</span>data<span class="Delimiter">,</span> p<span class="Delimiter">-&gt;</span>first<span class="Delimiter">))</span> <span class="Identifier">continue</span><span class="Delimiter">;</span>
-<span id="L716" class="LineNr"> 716 </span>    <span class="Normal">for</span> <span class="Delimiter">(</span>set&lt;address_element_info&gt;::const_iterator info = p<span class="Delimiter">-&gt;</span>second<span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  info != p<span class="Delimiter">-&gt;</span>second<span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++info<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L717" class="LineNr"> 717 </span>      <span class="Normal">int</span> element_address = <a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> canonized_x<span class="Delimiter">.</span>value + info<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">);</span>
-<span id="L718" class="LineNr"> 718 </span>      reagent<span class="Comment">/*</span><span class="Comment">local</span><span class="Comment">*/</span> element<span class="Delimiter">;</span>
-<span id="L719" class="LineNr"> 719 </span>      element<span class="Delimiter">.</span><a href='010vm.cc.html#L65'>set_value</a><span class="Delimiter">(</span>element_address+<span class="Comment">/*</span><span class="Comment">skip refcount</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">);</span>
-<span id="L720" class="LineNr"> 720 </span>      element<span class="Delimiter">.</span>type = <span class="Normal">new</span> type_tree<span class="Delimiter">(</span>*info<span class="Delimiter">-&gt;</span><a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">);</span>
-<span id="L721" class="LineNr"> 721 </span>      <a href='036refcount.cc.html#L60'>decrement_refcount</a><span class="Delimiter">(</span>element_address<span class="Delimiter">,</span> info<span class="Delimiter">-&gt;</span><a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">,</span> size_of<span class="Delimiter">(</span>element<span class="Delimiter">)</span>+<span class="Comment">/*</span><span class="Comment">refcount</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">);</span>
-<span id="L722" class="LineNr"> 722 </span>    <span class="Delimiter">}</span>
+<span id="L715" class="LineNr"> 715 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>!all_match<span class="Delimiter">(</span>data<span class="Delimiter">,</span> p<span class="Delimiter">-&gt;</span>first<span class="Delimiter">))</span> <span class="Identifier">continue</span><span class="Delimiter">;</span>
+<span id="L716" class="LineNr"> 716 </span>  <span class="Conceal">¦</span> <span class="Normal">for</span> <span class="Delimiter">(</span>set&lt;address_element_info&gt;::const_iterator info = p<span class="Delimiter">-&gt;</span>second<span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  info != p<span class="Delimiter">-&gt;</span>second<span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++info<span class="Delimiter">)</span> <span class="Delimiter">{</span>
+<span id="L717" class="LineNr"> 717 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Normal">int</span> element_address = <a href='001help.cc.html#L225'>get_or_insert</a><span class="Delimiter">(</span>Memory<span class="Delimiter">,</span> canonized_x<span class="Delimiter">.</span>value + info<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">);</span>
+<span id="L718" class="LineNr"> 718 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> reagent<span class="Comment">/*</span><span class="Comment">local</span><span class="Comment">*/</span> element<span class="Delimiter">;</span>
+<span id="L719" class="LineNr"> 719 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> element<span class="Delimiter">.</span><a href='010vm.cc.html#L65'>set_value</a><span class="Delimiter">(</span>element_address+<span class="Comment">/*</span><span class="Comment">skip refcount</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">);</span>
+<span id="L720" class="LineNr"> 720 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> element<span class="Delimiter">.</span>type = <span class="Normal">new</span> type_tree<span class="Delimiter">(</span>*info<span class="Delimiter">-&gt;</span><a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">);</span>
+<span id="L721" class="LineNr"> 721 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <a href='036refcount.cc.html#L60'>decrement_refcount</a><span class="Delimiter">(</span>element_address<span class="Delimiter">,</span> info<span class="Delimiter">-&gt;</span><a href='030container.cc.html#L238'>payload_type</a><span class="Delimiter">,</span> size_of<span class="Delimiter">(</span>element<span class="Delimiter">)</span>+<span class="Comment">/*</span><span class="Comment">refcount</span><span class="Comment">*/</span><span class="Constant">1</span><span class="Delimiter">);</span>
+<span id="L722" class="LineNr"> 722 </span>  <span class="Conceal">¦</span> <span class="Delimiter">}</span>
 <span id="L723" class="LineNr"> 723 </span>  <span class="Delimiter">}</span>
 <span id="L724" class="LineNr"> 724 </span><span class="Delimiter">}</span>
 <span id="L725" class="LineNr"> 725 </span>
 <span id="L726" class="LineNr"> 726 </span><span class="Delimiter">:(code)</span>
 <span id="L727" class="LineNr"> 727 </span><span class="Normal">bool</span> <a href='036refcount.cc.html#L727'>all_match</a><span class="Delimiter">(</span><span class="Normal">const</span> vector&lt;<span class="Normal">double</span>&gt;&amp; data<span class="Delimiter">,</span> <span class="Normal">const</span> set&lt;tag_condition_info&gt;&amp; conditions<span class="Delimiter">)</span> <span class="Delimiter">{</span>
 <span id="L728" class="LineNr"> 728 </span>  <span class="Normal">for</span> <span class="Delimiter">(</span>set&lt;tag_condition_info&gt;::const_iterator p = conditions<span class="Delimiter">.</span>begin<span class="Delimiter">();</span>  p != conditions<span class="Delimiter">.</span><a href='003trace.cc.html#L185'>end</a><span class="Delimiter">();</span>  ++p<span class="Delimiter">)</span> <span class="Delimiter">{</span>
-<span id="L729" class="LineNr"> 729 </span>    <span class="Normal">if</span> <span class="Delimiter">(</span>data<span class="Delimiter">.</span>at<span class="Delimiter">(</span>p<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">)</span> != p<span class="Delimiter">-&gt;</span>tag<span class="Delimiter">)</span>
-<span id="L730" class="LineNr"> 730 </span>      <span class="Identifier">return</span> <span class="Constant">false</span><span class="Delimiter">;</span>
+<span id="L729" class="LineNr"> 729 </span>  <span class="Conceal">¦</span> <span class="Normal">if</span> <span class="Delimiter">(</span>data<span class="Delimiter">.</span>at<span class="Delimiter">(</span>p<span class="Delimiter">-&gt;</span>offset<span class="Delimiter">)</span> != p<span class="Delimiter">-&gt;</span>tag<span class="Delimiter">)</span>
+<span id="L730" class="LineNr"> 730 </span>  <span class="Conceal">¦</span> <span class="Conceal">¦</span> <span class="Identifier">return</span> <span class="Constant">false</span><span class="Delimiter">;</span>
 <span id="L731" class="LineNr"> 731 </span>  <span class="Delimiter">}</span>
 <span id="L732" class="LineNr"> 732 </span>  <span class="Identifier">return</span> <span class="Constant">true</span><span class="Delimiter">;</span>
 <span id="L733" class="LineNr"> 733 </span><span class="Delimiter">}</span>