title: What other languages support Go's style of interfacing without explicit declaration?
body: <p>I am a reasonably experiences hobby programmer, and I have good familiarity with C++, D, Java, C# and others.</p>
  
  <p>With the exception of Go, almost every language requires me to explicitly state that I am implementing an interface. This is borderline ridiculous, since we today have compilers for languages like Haskell, which can do almost full-program type inference with very few hints.</p>
  
  <p>What I am looking for is a programming language that does this:</p>
  
  <pre><code>interface ITest {
      void Test();
  }
  
  class Test {
      void Test() { }
  }
  
  void main() {
      ITest x;
      x = new Test;
  }
  </code></pre>
  
  <p>What languages would see this, and automatically flag <code>Test</code> as implementing <code>ITest</code>?</p>
  
  <p><strong>ETA</strong>: I am not looking for duck typing. I am looking for strictly typed languages with inference.</p>