does it make sense to confine the has merge only to the relevant plugin space? e.g.

plugin=discovery

SETTINGS[:discovery].merge ... ?