Provide some debug mode, like when some custom macro like BOOST_OUTCOME_DEBUG_MODE is defined, where result and outcome at the cost of run-time size or efficiency track whether the failure status (has_value()) has been checked before the object is destroyed of unsafely accessed (with assume_value()).