Well that depends - in the implementation as it stands, we don't expose the type to the user - it's just a map.

Exposing the type to the user will break source compatibility - so we would want to have a valid problem that would be caused by not exposing it to justify that breakage, not just a theoretical principle.  In the discussion above, we tried to identify a real world situation that people are likely to run into where not defining `CaseInsensitiveMap` would cause an issue, but we couldn't find one.  If you can provide one, then I'm all ears.

Note that subclassing `Map` in Scala, and providing a custom one is quite an involved thing to do, it's not very straight forward and very easy to get wrong.  Again, we need a problem that we're trying to solve to justify the effort.