<div dir="ltr">Hi,<div><br></div><div>A Starlark &quot;string list&quot; looks like this:  [&quot;a&quot;, &quot;b&quot;, &quot;c&quot;]</div><div><br></div><div>I&#39;m converting this into a Scheme vector of c-objects; the custom c-object lets me keep track of position metadata (line,col), so my parser/emitter can round-trip, emitting output that exactly matches the input.</div><div><br></div><div>The problem is that I need to keep track of the positions for the string list brackets. Those are nodes in the AST, as are the commas in the list, but I&#39;m omitting them from the vector, it doesn&#39;t make much sense for a string vector to include punctuation. I can add metadata for the commas to the custom string nodes, but that leaves the bracket delimiters.</div><div><br></div><div> The easy way to do that would be to add the info as metadata on the Scheme vector. Is there a way to do that with s7?  I&#39;ve been looking at the &quot;let&quot; stuff but I don&#39;t see a way to do it.  I see that c-objects have an &quot;object-let&quot;, and (object-&gt;let  myvec) returns an inlet, but I don&#39;t see how to elaborate the object-let of a Scheme vector.</div><div><br></div><div>(I&#39;m trying to avoid writing custom c-type code for my lists.)</div><div><br></div><div>Thanks,</div><div><br></div><div>Gregg</div></div>