// after
#include <cstdio>
#include <expect>

enum class Error {
    // 成功かどうかはexpectedで表現するのでOKは不要になる
    NOT_FOUND,
};

std::expected<int, Error>
find_even(const std::vector<int>& numbers)
{
    for (int n : numbers) {
        if (n % 2 == 0) {
            return n;
        }
    }
    return std::unexpected{Error::NOT_FOUND};
}

int main(void)
{
    const std::vector<int> numbers = {1, 2, 3, 4};
    if (const auto result = find_even(numbers);
        result.has_value()) {
        printf("result: %d\n", result.value());
    }
    return 0;
}
