Terser syntax for first-class functions needing a context bound
How about not having to specify the type at all?

implicit class SeqWithAction[T:Fractional](seq:Seq[T]) {
  def getAction( op : String ) : String =
    op match {
      case "add" =&gt; seq.sum.toString
      case "product" =&gt; seq.product.toString
      case "mean" =&gt; {
        implicit def intToFractional(i : Int) =
          implicitly[Fractional[T]].fromInt(i);
        (seq.sum / seq.length).toString
      }
      case "sqrt" =&gt; seq.map(i =&gt; math.sqrt(i.toDouble)).toString
    }
  }     
}
Seq(4.0).getAction("sqrt")