At the moment, the new Consumer<HttpMessageConverters.ClientBuilder> method creates a throwaway builder, and uses it to replace an internal list of converters.
We should change this to having HttpMessageConverters.ClientBuilder instead of a list, and each call with aConsumer would operate on the same builder instance.
The existing Iterable<HttpMessageConverter<?>> can turn off default registrations, and insert provided ones, which would be documented so it's clear how it works.