<?xml version="1.0" encoding="utf-8"?>
<article xmlns="http://docbook.org/ns/docbook" version="5.0">
   <title>Article wrapper</title>
   <para>Callouts using <tag>co</tag>:</para>
   <screen>(let <co xml:id="dl1"/>loopvar <co xml:id="dl2"/>((count 1))
  <co xml:id="dl3"/>(if (&gt; count 10)
    <co xml:id="dl4"/>#t
    (<co xml:id="dl5"/>loopvar <co xml:id="dl6"/>(+ count 1))))</screen>
   <calloutlist>
      <callout arearefs="dl1">
         <para>This variable controls the loop. It is declared without an
initial value, immediately after the <literal>let</literal>
operand.</para>
      </callout>
      <callout arearefs="dl2">
         <para>Any number of additional local variables can be defined after
the loop variable, just as they can in any other
<literal>let</literal> expression.</para>
      </callout>
      <callout arearefs="dl3">
         <para>If you ever want the loop to end, you have to put some sort of a
test in it.</para>
      </callout>
      <callout arearefs="dl4">
         <para>This is the value that will be returned.</para>
      </callout>
      <callout arearefs="dl5">
         <para>Note that you iterate the loop by using the loop variable as if
it was a function name.</para>
      </callout>
      <callout arearefs="dl6">
         <para>The arguments to this function are the values that
you want the local variables declared in <xref linkend="dl2"/> to have
in the next iteration.</para>
      </callout>
   </calloutlist>
</article>
