why not ||= {} and always merge?