Make it:<p><pre><code>  interface Addable&lt;RHS, Result&gt; {
    Result add(RHS other);
  }
</code></pre>
The problem is hardly new though. Groovy is very Java-like and has operator overloading: <a href="http:&#x2F;&#x2F;groovy-lang.org&#x2F;operators.html#Operator-Overloading" rel="nofollow">http:&#x2F;&#x2F;groovy-lang.org&#x2F;operators.html#Operator-Overloading</a>