Rename
Add scaladoc
Fix typo
Use CanBuildFrom to infer collection type in Join
Use CanBuildFrom in Implicits