title: Calling protocol default implementation from regular method
body: <p>I'm wondering if it's possible to achieve such a thing.<br>
  I have a Playground like this:</p>
  
  <pre><code>protocol Foo {
      func testPrint()
  }
  
  extension Foo {
      func testPrint() {
          print("Protocol extension call")
      }
  }
  
  struct Bar: Foo {
      func testPrint() {
          // Calling self or super go call default implementation
          self.testPrint()
          print("Call from struct")
      }
  }
  
  
  let sth = Bar()
  sth.testPrint()
  </code></pre>
  
  <p>I can provide a default implementation in <code>extension</code> but what if <code>Bar</code> needs everything that is in default implementation plus additional things?<br>
  It's somehow similar to calling <code>super.</code> methods in <code>class</code>es to fulfill requirement of implementing every property etc. but I see no possibility to achieve the same with <code>structs</code>.</p>