title: Why does this flatMap fail?
body: <pre><code>scala&gt; val s: Seq[Class[_ &lt;: java.lang.Enum[_]]] = Seq(classOf[java.util.concurrent.TimeUnit])
  s: Seq[Class[_ &lt;: java.lang.Enum[_]]] = List(class java.util.concurrent.TimeUnit)
  
  scala&gt; s.flatMap(_.getEnumConstants)
  &lt;console&gt;:9: error: no type parameters for method flatMap: (f: Class[_ &lt;: java.lang.Enum[_]] =&gt; scala.collection.GenTraversableOnce[B])(implicit bf: scala.collection.generic.CanBuildFrom[Seq[Class[_ &lt;: java.lang.Enum[_]]],B,That])That exist so that it can be applied to arguments (Class[_ &lt;: java.lang.Enum[_]] =&gt; scala.collection.mutable.ArrayOps[_$1(in value $anonfun) with java.lang.Object] forSome { type _$1(in value $anonfun) &lt;: java.lang.Enum[_] })
   --- because ---
  argument expression's type is not compatible with formal parameter type;
   found   : Class[_ &lt;: java.lang.Enum[_]] =&gt; scala.collection.mutable.ArrayOps[_$1(in value $anonfun) with java.lang.Object] forSome { type _$1(in value $anonfun) &lt;: java.lang.Enum[_] }
   required: Class[_ &lt;: java.lang.Enum[_]] =&gt; scala.collection.GenTr...              s.flatMap(_.getEnumConstants)
  </code></pre>