On the JVM there isn't enough information at runtime to know whether a List is a List[Int]. Even a List[Any] might just happen to contain only Ints, and there is absolutely no way to tell which compile-time type it had. You could, however, code one of several things:
For each List in a, yield the subset which are Ints.
Yield the Lists in a which contain only Ints.
Same as #1, but eliminate the empty Lists.
For example, #1 could be coded as
a collect { case list:List[_] => list collect { case x:Int => x } }