          See the lecture notes section on <a
              href="http://www.composingprograms.com/pages/13-defining-new-functions.html#choosing-names">choosing
              names</a> for more suggestions.</li>
          <li><strong>Functions</strong>. Functions are our primary mechanism for abstraction, and so
            each function should ideally have a single job that can be used throughout a
            program. When given the choice between calling a function or copying and
            pasting its 