Может ли быть какая-то причина предпочесть filter+map:
list.filter (i => aCondition(i)).map(i => fun(i))
над collect?:
list.collect(case i if aCondition(i) => fun(i))
Тот, у кого collect (один взгляд), выглядит быстрее и чище для меня. Поэтому я всегда буду искать collect.