Only use Maps if all requires features are available.

Downgrade Maps when they are used for ** arguments.

Fix calling the update method with a list of (key, value) pairs.