std::variant
BuildResult
There is now a clean separation between successful and failing build results.