title: What is superEncoder for in UnkeyedEncodingContainer and KeyedEncodingContainerProtocol?
body: <p>I'm sorry to ask such a basic question but I haven't been able to find the answer anywhere :</p>
  <p>In order to make an <code>Encoder</code>, you must define different types of containers :</p>
  <ul>
  <li><code>SingleValueEncodingContainer</code></li>
  <li><code>UnkeyedEncodingContainer</code></li>
  <li><code>KeyedEncodingContainerProtocol</code> (<em>yes the naming spec is weird</em>)</li>
  </ul>
  <p>Those last two must both contain a method called <code>superEncoder</code> however I have not been able to find what it's supposed to do anywhere. <a href="https://stackoverflow.com/questions/45169254/custom-swift-encoder-decoder-for-the-strings-resource-format">This question</a> has an answer that implements it but doesn't explain it, and <a href="https://www.youtube.com/watch?v=yL5Ff5p1hyc" rel="nofollow noreferrer">this talk</a> only makes a passing mention of it.</p>
  <p>What is it supposed to do, and what is it for ?</p>