The idea is that `value` will be set if it is nil/false only.  That way if a value was explicitly set it `ensure_value` will do nothing.  If no value was set it will be populated. Added test showing that pre-populated values are not changed in 5faa0e6.