* This should be private hidden behind a `defaults()` method.
* A default instance should be able to take the defaults from the builder, so precedence should be false initially in the builder.