object Test {
  def mani[T: Manifest](xs: T) = xs
  mani(List())
 
  def listElMani[T: Manifest](xs: List[T]) = xs
  listElMani(List())
 
  def foo[A, C](m : C)(implicit ev: C <:< Traversable[A], mani: Manifest[A]): (C, A, Manifest[A]) = (m, m.head, mani)
  foo(List(1,2,3)) 
}