To flatMap a list of symbols into a list of symbols which excluded NoSymbol, AFAIK we would need to throw implicit CanBuildFroms at it, which is way too expensive. But some days the bear gets you; the point isn't necessarily to make the code less verbose. It's tremendously wasteful to allocate Somes all day long when there is no cause to do so.