 <p><em>This is another parenthetical note.</em></p> <p>As <a href="http://stackoverflow.com/questions/2982276/what-is-a-context-bound-in-scala/2983376#2983376">Ben pointed out</a>, a context bound represents a "has-a" constraint between a type parameter and a type class. Put another way, it represents a constraint that an implicit value of a particular type class exists.</p> <p>When utilizing a context bound, one often needs to surface that implicit value. For example, given the constraint <code>T : Ordering</code>, one will often need the instance of <code>Ordering[T]</code> that satisfies the constraint. <a href="http://stackoverflow.com/questions/4373070/how-do-i-get-an-instance-of-the-type-class-associated-with-a-context-bound/4373153#4373153">As demonstrated here</a>, it's possible to access the implicit value by using the <code>implicitly</code> method or a slightly more helpful <code>context</code> method:</p> <pre><code>def **[T : Numeric](xs: Iterable[T], ys: Iterable[T]) = xs zip ys map { t =&gt; implicitly[Numeric[T]].times(t._1, t._2) } </code></pre> <p>or </p> <pre><code>def **[T : Numeric](xs: Iterable[T], ys: Iterable[T]) = xs zip ys map { t =&gt; context[T]().times(t._1, t._2) } </code></pre>