What's the difference between `::` and `+:` for prepending to a list)?
问题 List has 2 methods that are specified to prepend an element to an (immutable) list: +: (implementing Seq.+: ), and :: (defined only in List ) +: technically has a more general type signature— def +:[B >: A, That](elem: B)(implicit bf: CanBuildFrom[List[A], B, That]): That def ::[B >: A](x: B): List[B] —but ignoring the implicit, which according to the doc message merely requires That to be List[B] , the signatures are equivalent. What is the difference between List.+: and List.:: ? If they