Well, the CanBuildFrom implicit needs to capture the actual type of the originating collection in its first type parameter, so using `Nothing` would not do what we want here. Using `CanBuildFrom[C, T, C]` lets us get a builder that knows how to take elements from C (of type T), and rebuild another collection of the same type C. If we use Nothing then it loses that concrete collection type for the `From` type parameter.