The OptionsResolver component is array_replace
on steroids. It allows you to
create an options system with required options, defaults, validation (type,
value), normalization and more.
This fork provide a failsafe merge. The resolver in failsafe mode will always try to find a valid configuration if possible, based both on default and provided values.