Both views and withFilter solve the problem of intermediate collection creations. What's the difference between them ?
List("a", "b", "c").withFilter(_ == "b").withFilter(_ == "c").map(x => x)
vs
List("a", "b", "c").view.filter(_ == "b").filter(_ == "c").map(x => x)