Instead of waiting for a good time to switch the `Map` implementation,
I've decided to just offer two implementations: one for Go versions
before 1.18, and one for 1.18 and onwards. This is achieved using build
tags in the source files.
This is obviously a breaking change for consumers of this library that
use Go 1.18 and onwards.
See #88