(Changed in version 2.8.0) keys returns Iterable[A] rather than Iterator[A].
(Changed in version 2.9.0) The behavior of scanRight has changed. The previous behavior can be reproduced with scanRight.reverse.
(Changed in version 2.9.0) transpose throws an IllegalArgumentException if collections are not uniformly sized.
(Changed in version 2.8.0) values returns Iterable[B] rather than Iterator[B].
A set of HTTP headers identified by case insensitive keys
A Map[CaseInsensitiveString, String] would conform to the strict Map specification but it would make the API ugly, forcing the explicit usage of CaseInsensitiveString instead of string.
That's why we have the HeaderMap class to represent HTTP headers in a map like interface which is nice to use. It is however not *exactly* a map because different keys can map to the same value if they are case-insensitive equivalent.
Required for MapLike implementation. Should always be set to String.