<div class="chatlog__message-group">
  <div id="chatlog__message-container-426316226881650700" class="chatlog__message-container" data-message-id="426316226881650700">
    <div class="chatlog__message">
      <div class="chatlog__message-aside"><img class="chatlog__avatar" src="https://cdn.discordapp.com/avatars/189711109966659584/95280765d1be73ce985dce15ea3585f6.png?size=512" alt="Avatar" loading="lazy"></div>
      <div class="chatlog__message-primary">
        <div class="chatlog__header"><span class="chatlog__author" style="color:rgb(237,171,161)" title="omochimetaru" data-user-id="189711109966659584">omochimetaru</span> <a href="/channels/306995750418513920?category=main&amp;channel=swift-2&amp;message_id=426316358704431107"><span class="chatlog__timestamp" title="Thursday, March 22, 2018 9:48 AM"></span></a><a href="#chatlog__message-container-426316226881650700">3/22/2018 9:48 AM</a></div>
        <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve"><code class="chatlog__markdown-pre chatlog__markdown-pre--multiline language-swift">protocol ValuePrinter { func print(_ x: Int) func print(_ x: String) } protocol IntOrString { func asInt() -&gt; Int? func asString() -&gt; String? } extension Int : IntOrString { func asInt() -&gt; Int? { return self } func asString() -&gt; String? { return nil } } extension String : IntOrString { func asInt() -&gt; Int? { return nil } func asString() -&gt; String? { return self } } class OmniValuePrinter : ValuePrinter { // oneshot double override! func print&lt;X: IntOrString&gt;(_ x: X) { if let i = x.asInt() { Swift.print(i) } if let s = x.asString() { Swift.print(s) } } } let printer = OmniValuePrinter() as ValuePrinter printer.print(3) printer.print("a")</code></span></div>
      </div>
    </div>
  </div>
  <div id="chatlog__message-container-426316358704431107" class="chatlog__message-container" data-message-id="426316358704431107">
    <div class="chatlog__message">
      <div class="chatlog__message-aside">
        <div class="chatlog__short-timestamp" title="Thursday, March 22, 2018 9:49 AM">9:49 AM</div>
      </div>
      <div class="chatlog__message-primary">
        <div class="chatlog__content chatlog__markdown"><span class="chatlog__markdown-preserve">おもしろいねえ・・・ TypeScript式オーバーロードを後付できる・・・</span> <span class="chatlog__edited-timestamp" title="Thursday, March 22, 2018 9:49 AM">(edited)</span></div>
      </div>
    </div>
  </div>
</div>