title: Why does Ordered[A] use a compare method instead of reusing compareTo?
body: <pre><code>trait Ordered[A] extends java.lang.Comparable[A] {
    def compare(that: A): Int
    def &lt;  (that: A): Boolean = (this compare that) &lt;  0
    def &gt;  (that: A): Boolean = (this compare that) &gt;  0
    def &lt;= (that: A): Boolean = (this compare that) &lt;= 0
    def &gt;= (that: A): Boolean = (this compare that) &gt;= 0
    def compareTo(that: A): Int = compare(that)
  }
  </code></pre>
  
  <p>Isn't it a bit useless to have both <code>compare</code> and <code>compareTo</code>?
  What is the huge benefit I'm missing here?</p>
  
  <p>If they had just used <code>compareTo</code> I could just had replaced <code>Comparable</code> with <code>Ordered</code> in my code and be done.</p>