diff --git a/_overviews/collections-2.13/trait-iterable.md b/_overviews/collections-2.13/trait-iterable.md
index f1d01e2865..3cf0410289 100644
--- a/_overviews/collections-2.13/trait-iterable.md
+++ b/_overviews/collections-2.13/trait-iterable.md
@@ -37,7 +37,7 @@ Collection classes that implement `Iterable` just need to define this method; al
* **Element tests** `exists`, `forall`, `count` which test collection elements with a given predicate.
* **Folds** `foldLeft`, `foldRight`, `reduceLeft`, `reduceRight` which apply a binary operation to successive elements.
* **Specific folds** `sum`, `product`, `min`, `max`, which work on collections of specific types (numeric or comparable).
-* **String** operations `mkString`, `addString`, and the protected `className`, which give alternative ways of converting a collection to a string.
+* **String** operations `mkString` and `addString` which give alternative ways of converting a collection to a string.
* **View** operation: A view is a collection that's evaluated lazily. You'll learn more about views in [later]({% link _overviews/collections-2.13/views.md %}).
Two more methods exist in `Iterable` that return iterators: `grouped` and `sliding`. These iterators, however, do not return single elements but whole subsequences of elements of the original collection. The maximal size of these subsequences is given as an argument to these methods. The `grouped` method returns its elements in "chunked" increments, where `sliding` yields a sliding "window" over the elements. The difference between the two should become clear by looking at the following REPL interaction:
@@ -67,92 +67,91 @@ res7: List[Int] = List(3, 4, 5)
### Operations in Class Iterable ###
-| WHAT IT IS | WHAT IT DOES |
-| ------ | ------ |
-| **Abstract Method:** | |
-| `xs.iterator` |An `iterator` that yields every element in `xs`.|
-| **Other Iterators:** | |
-| `xs.foreach(f)` |Executes function `f` for every element of `xs`.|
-| `xs.grouped(size)` |An iterator that yields fixed-sized "chunks" of this collection.|
-| `xs.sliding(size)` |An iterator that yields a sliding fixed-sized window of elements in this collection.|
-| **Addition:** | |
-| `xs.concat(ys)`
(or `xs ++ ys`) |A collection consisting of the elements of both `xs` and `ys`. `ys` is a [IterableOnce](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/IterableOnce.html) collection, i.e., either an [Iterable](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/Iterable.html) or an [Iterator](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/Iterator.html).|
-| **Maps:** | |
-| `xs.map(f)` |The collection obtained from applying the function f to every element in `xs`.|
-| `xs.flatMap(f)` |The collection obtained from applying the collection-valued function `f` to every element in `xs` and concatenating the results.|
-| `xs.collect(f)` |The collection obtained from applying the partial function `f` to every element in `xs` for which it is defined and collecting the results.|
-| **Conversions:** | |
-| `xs.to(SortedSet)` | Generic conversion operation that takes a collection factory as parameter. |
-| `xs.toList` |Converts the collection to a list. |
-| `xs.toVector` |Converts the collection to a vector. |
-| `xs.toMap` |Converts the collection of key/value pairs to a map. If the collection does not have pairs as elements, calling this operation results in a static type error.|
-| `xs.toSet` |Converts the collection to a set. |
-| `xs.toSeq` |Converts the collection to a sequence. |
-| `xs.toIndexedSeq` |Converts the collection to an indexed sequence. |
-| `xs.toBuffer` |Converts the collection to a buffer. |
-| `xs.toArray` |Converts the collection to an array. |
-| **Copying:** | |
-| `xs copyToArray(arr, s, n)`|Copies at most `n` elements of the collection to array `arr` starting at index `s`. The last two arguments are optional.|
-| **Size info:** | |
-| `xs.isEmpty` |Tests whether the collection is empty. |
-| `xs.nonEmpty` |Tests whether the collection contains elements. |
-| `xs.size` |The number of elements in the collection. |
-| `xs.knownSize` |The number of elements, if this one takes constant time to compute, otherwise `-1`. |
-| `xs.sizeCompare(ys)` |Returns a negative value if `xs` is shorter than the `ys` collection, a positive value if it is longer, and `0` if they have the same size. Works even if the collection is infinite, for example `LazyList.from(1) sizeCompare List(1, 2)` returns a positive value. |
-| `xs.sizeCompare(n)` |Returns a negative value if `xs` is shorter than `n`, a positive value if it is longer, and `0` if it is of size `n`. Works even if the collection is infinite, for example `LazyList.from(1) sizeCompare 42` returns a positive value. |
-| `xs.sizeIs < 42`, `xs.sizeIs != 42`, etc. |Provides a more convenient syntax for `xs.sizeCompare(42) < 0`, `xs.sizeCompare(42) != 0`, etc., respectively.|
-| **Element Retrieval:** | |
-| `xs.head` |The first element of the collection (or, some element, if no order is defined).|
-| `xs.headOption` |The first element of `xs` in an option value, or None if `xs` is empty.|
-| `xs.last` |The last element of the collection (or, some element, if no order is defined).|
-| `xs.lastOption` |The last element of `xs` in an option value, or None if `xs` is empty.|
-| `xs.find(p)` |An option containing the first element in `xs` that satisfies `p`, or `None` if no element qualifies.|
-| **Subcollections:** | |
-| `xs.tail` |The rest of the collection except `xs.head`. |
-| `xs.init` |The rest of the collection except `xs.last`. |
-| `xs.slice(from, to)` |A collection consisting of elements in some index range of `xs` (from `from` up to, and excluding `to`).|
-| `xs.take(n)` |A collection consisting of the first `n` elements of `xs` (or, some arbitrary `n` elements, if no order is defined).|
-| `xs.drop(n)` |The rest of the collection except `xs.take(n)`.|
-| `xs.takeWhile(p)` |The longest prefix of elements in the collection that all satisfy `p`.|
-| `xs.dropWhile(p)` |The collection without the longest prefix of elements that all satisfy `p`.|
-| `xs.takeRight(n)` |A collection consisting of the last `n` elements of `xs` (or, some arbitrary `n` elements, if no order is defined).|
-| `xs.dropRight(n)` |The rest of the collection except `xs.takeRight(n)`.|
-| `xs.filter(p)` |The collection consisting of those elements of xs that satisfy the predicate `p`.|
-| `xs.withFilter(p)` |A non-strict filter of this collection. Subsequent calls to `map`, `flatMap`, `foreach`, and `withFilter` will only apply to those elements of `xs` for which the condition `p` is true.|
-| `xs.filterNot(p)` |The collection consisting of those elements of `xs` that do not satisfy the predicate `p`.|
-| **Subdivisions:** | |
-| `xs.splitAt(n)` |Split `xs` at a position, giving the pair of collections `(xs take n, xs drop n)`.|
-| `xs.span(p)` |Split `xs` according to a predicate, giving the pair of collections `(xs takeWhile p, xs.dropWhile p)`.|
-| `xs.partition(p)` |Split `xs` into a pair of collections; one with elements that satisfy the predicate `p`, the other with elements that do not, giving the pair of collections `(xs filter p, xs.filterNot p)`|
-| `xs.groupBy(f)` |Partition `xs` into a map of collections according to a discriminator function `f`.|
-| `xs.groupMap(f)(g)`|Partition `xs` into a map of collections according to a discriminator function `f`, and applies the transformation function `g` to each element in a group.|
-| `xs.groupMapReduce(f)(g)(h)`|Partition `xs` according to a discriminator function `f`, and then combine the results of applying the function `g` to each element in a group using the `h` function.|
-| **Element Conditions:** | |
-| `xs.forall(p)` |A boolean indicating whether the predicate `p` holds for all elements of `xs`.|
-| `xs.exists(p)` |A boolean indicating whether the predicate `p` holds for some element in `xs`.|
-| `xs.count(p)` |The number of elements in `xs` that satisfy the predicate `p`.|
-| **Folds:** | |
-| `xs.foldLeft(z)(op)` |Apply binary operation `op` between successive elements of `xs`, going left to right and starting with `z`.|
-| `xs.foldRight(z)(op)` |Apply binary operation `op` between successive elements of `xs`, going right to left and ending with `z`.|
-| `xs.reduceLeft(op)` |Apply binary operation `op` between successive elements of non-empty collection `xs`, going left to right.|
-| `xs.reduceRight(op)` |Apply binary operation `op` between successive elements of non-empty collection `xs`, going right to left.|
-| **Specific Folds:** | |
-| `xs.sum` |The sum of the numeric element values of collection `xs`.|
-| `xs.product` |The product of the numeric element values of collection `xs`.|
-| `xs.min` |The minimum of the ordered element values of collection `xs`.|
-| `xs.max` |The maximum of the ordered element values of collection `xs`.|
-| `xs.minOption` |Like `min` but returns `None` if `xs` is empty.|
-| `xs.maxOption` |Like `max` but returns `None` if `xs` is empty.|
-| **Strings:** | |
-| `xs.addString(b, start, sep, end)`|Adds a string to `StringBuilder` `b` that shows all elements of `xs` between separators `sep` enclosed in strings `start` and `end`. `start`, `sep`, `end` are all optional.|
-| `xs.mkString(start, sep, end)`|Converts the collection to a string that shows all elements of `xs` between separators `sep` enclosed in strings `start` and `end`. `start`, `sep`, `end` are all optional.|
-| `xs.stringPrefix` |The collection name at the beginning of the string returned from `xs.toString`.|
-| **Zippers:** | |
-| `xs.zip(ys)` |A collection of pairs of corresponding elements from `xs` and `ys`.|
-| `xs.zipAll(ys, x, y)` |A collection of pairs of corresponding elements from `xs` and `ys`, where the shorter sequence is extended to match the longer one by appending elements `x` or `y`.|
-| `xs.zipWithIndex` |An collection of pairs of elements from `xs` with their indices.|
-| **Views:** | |
-| `xs.view` |Produces a view over `xs`.|
+| WHAT IT IS | WHAT IT DOES |
+|-------------------------------------------| ------ |
+| **Abstract Method:** | |
+| `xs.iterator` |An `iterator` that yields every element in `xs`.|
+| **Other Iterators:** | |
+| `xs.foreach(f)` |Executes function `f` for every element of `xs`.|
+| `xs.grouped(size)` |An iterator that yields fixed-sized "chunks" of this collection.|
+| `xs.sliding(size)` |An iterator that yields a sliding fixed-sized window of elements in this collection.|
+| **Addition:** | |
+| `xs.concat(ys)`
(or `xs ++ ys`) |A collection consisting of the elements of both `xs` and `ys`. `ys` is a [IterableOnce](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/IterableOnce.html) collection, i.e., either an [Iterable](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/Iterable.html) or an [Iterator](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/Iterator.html).|
+| **Maps:** | |
+| `xs.map(f)` |The collection obtained from applying the function f to every element in `xs`.|
+| `xs.flatMap(f)` |The collection obtained from applying the collection-valued function `f` to every element in `xs` and concatenating the results.|
+| `xs.collect(f)` |The collection obtained from applying the partial function `f` to every element in `xs` for which it is defined and collecting the results.|
+| **Conversions:** | |
+| `xs.to(SortedSet)` | Generic conversion operation that takes a collection factory as parameter. |
+| `xs.toList` |Converts the collection to a list. |
+| `xs.toVector` |Converts the collection to a vector. |
+| `xs.toMap` |Converts the collection of key/value pairs to a map. If the collection does not have pairs as elements, calling this operation results in a static type error.|
+| `xs.toSet` |Converts the collection to a set. |
+| `xs.toSeq` |Converts the collection to a sequence. |
+| `xs.toIndexedSeq` |Converts the collection to an indexed sequence. |
+| `xs.toBuffer` |Converts the collection to a buffer. |
+| `xs.toArray` |Converts the collection to an array. |
+| **Copying:** | |
+| `xs copyToArray(arr, s, n)` |Copies at most `n` elements of the collection to array `arr` starting at index `s`. The last two arguments are optional.|
+| **Size info:** | |
+| `xs.isEmpty` |Tests whether the collection is empty. |
+| `xs.nonEmpty` |Tests whether the collection contains elements. |
+| `xs.size` |The number of elements in the collection. |
+| `xs.knownSize` |The number of elements, if this one takes constant time to compute, otherwise `-1`. |
+| `xs.sizeCompare(ys)` |Returns a negative value if `xs` is shorter than the `ys` collection, a positive value if it is longer, and `0` if they have the same size. Works even if the collection is infinite, for example `LazyList.from(1) sizeCompare List(1, 2)` returns a positive value. |
+| `xs.sizeCompare(n)` |Returns a negative value if `xs` is shorter than `n`, a positive value if it is longer, and `0` if it is of size `n`. Works even if the collection is infinite, for example `LazyList.from(1) sizeCompare 42` returns a positive value. |
+| `xs.sizeIs < 42`, `xs.sizeIs != 42`, etc. |Provides a more convenient syntax for `xs.sizeCompare(42) < 0`, `xs.sizeCompare(42) != 0`, etc., respectively.|
+| **Element Retrieval:** | |
+| `xs.head` |The first element of the collection (or, some element, if no order is defined).|
+| `xs.headOption` |The first element of `xs` in an option value, or None if `xs` is empty.|
+| `xs.last` |The last element of the collection (or, some element, if no order is defined).|
+| `xs.lastOption` |The last element of `xs` in an option value, or None if `xs` is empty.|
+| `xs.find(p)` |An option containing the first element in `xs` that satisfies `p`, or `None` if no element qualifies.|
+| **Subcollections:** | |
+| `xs.tail` |The rest of the collection except `xs.head`. |
+| `xs.init` |The rest of the collection except `xs.last`. |
+| `xs.slice(from, to)` |A collection consisting of elements in some index range of `xs` (from `from` up to, and excluding `to`).|
+| `xs.take(n)` |A collection consisting of the first `n` elements of `xs` (or, some arbitrary `n` elements, if no order is defined).|
+| `xs.drop(n)` |The rest of the collection except `xs.take(n)`.|
+| `xs.takeWhile(p)` |The longest prefix of elements in the collection that all satisfy `p`.|
+| `xs.dropWhile(p)` |The collection without the longest prefix of elements that all satisfy `p`.|
+| `xs.takeRight(n)` |A collection consisting of the last `n` elements of `xs` (or, some arbitrary `n` elements, if no order is defined).|
+| `xs.dropRight(n)` |The rest of the collection except `xs.takeRight(n)`.|
+| `xs.filter(p)` |The collection consisting of those elements of xs that satisfy the predicate `p`.|
+| `xs.withFilter(p)` |A non-strict filter of this collection. Subsequent calls to `map`, `flatMap`, `foreach`, and `withFilter` will only apply to those elements of `xs` for which the condition `p` is true.|
+| `xs.filterNot(p)` |The collection consisting of those elements of `xs` that do not satisfy the predicate `p`.|
+| **Subdivisions:** | |
+| `xs.splitAt(n)` |Split `xs` at a position, giving the pair of collections `(xs take n, xs drop n)`.|
+| `xs.span(p)` |Split `xs` according to a predicate, giving the pair of collections `(xs takeWhile p, xs.dropWhile p)`.|
+| `xs.partition(p)` |Split `xs` into a pair of collections; one with elements that satisfy the predicate `p`, the other with elements that do not, giving the pair of collections `(xs filter p, xs.filterNot p)`|
+| `xs.groupBy(f)` |Partition `xs` into a map of collections according to a discriminator function `f`.|
+| `xs.groupMap(f)(g)` |Partition `xs` into a map of collections according to a discriminator function `f`, and applies the transformation function `g` to each element in a group.|
+| `xs.groupMapReduce(f)(g)(h)` |Partition `xs` according to a discriminator function `f`, and then combine the results of applying the function `g` to each element in a group using the `h` function.|
+| **Element Conditions:** | |
+| `xs.forall(p)` |A boolean indicating whether the predicate `p` holds for all elements of `xs`.|
+| `xs.exists(p)` |A boolean indicating whether the predicate `p` holds for some element in `xs`.|
+| `xs.count(p)` |The number of elements in `xs` that satisfy the predicate `p`.|
+| **Folds:** | |
+| `xs.foldLeft(z)(op)` |Apply binary operation `op` between successive elements of `xs`, going left to right and starting with `z`.|
+| `xs.foldRight(z)(op)` |Apply binary operation `op` between successive elements of `xs`, going right to left and ending with `z`.|
+| `xs.reduceLeft(op)` |Apply binary operation `op` between successive elements of non-empty collection `xs`, going left to right.|
+| `xs.reduceRight(op)` |Apply binary operation `op` between successive elements of non-empty collection `xs`, going right to left.|
+| **Specific Folds:** | |
+| `xs.sum` |The sum of the numeric element values of collection `xs`.|
+| `xs.product` |The product of the numeric element values of collection `xs`.|
+| `xs.min` |The minimum of the ordered element values of collection `xs`.|
+| `xs.max` |The maximum of the ordered element values of collection `xs`.|
+| `xs.minOption` |Like `min` but returns `None` if `xs` is empty.|
+| `xs.maxOption` |Like `max` but returns `None` if `xs` is empty.|
+| **Strings:** | |
+| `xs.addString(b, start, sep, end)` |Adds a string to `StringBuilder` `b` that shows all elements of `xs` between separators `sep` enclosed in strings `start` and `end`. `start`, `sep`, `end` are all optional.|
+| `xs.mkString(start, sep, end)` |Converts the collection to a string that shows all elements of `xs` between separators `sep` enclosed in strings `start` and `end`. `start`, `sep`, `end` are all optional.|
+| **Zippers:** | |
+| `xs.zip(ys)` |A collection of pairs of corresponding elements from `xs` and `ys`.|
+| `xs.zipAll(ys, x, y)` |A collection of pairs of corresponding elements from `xs` and `ys`, where the shorter sequence is extended to match the longer one by appending elements `x` or `y`.|
+| `xs.zipWithIndex` |An collection of pairs of elements from `xs` with their indices.|
+| **Views:** | |
+| `xs.view` |Produces a view over `xs`.|
In the inheritance hierarchy below `Iterable` you find three traits: [Seq](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/Seq.html), [Set](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/Set.html), and [Map](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/Map.html). `Seq` and `Map` implement the [PartialFunction](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/PartialFunction.html) trait with its `apply` and `isDefinedAt` methods, each implemented differently. `Set` gets its `apply` method from [SetOps](https://www.scala-lang.org/api/{{ site.scala-version }}/scala/collection/SetOps.html).