This arose while working on #3666:
Given an array, I think the only way to get the write_empty_chunks attribute from the configuration is this:
z = zarr.create_array({}, shape=(1,), dtype='uint8', config={"write_empty_chunks": True})
z._async_array._config.write_empty_chunks # super indirect!
# True
Since we declare the config with the config keyword argument in create_array, it might make sense for the array class to have a config attribute / property.
And while we're at it, we should provide an option for getting an array with a different config via a method like Array.with_config(...new_config) -> Array