set_default returns the existing value or the newly-set default value