я это к чему спрашиваю, например на select() и eval() может вернуться одна и та же ошибка, например таймаут. в случае селекта ее не грех повторить, в случае евала - уже опасно, если операция не идемпотентная
понятно что есть библиотеки, но не все они хорошие + не каждый сможет найти эту хорошую библиотеку, или даже понять как и что правильно ретраить. хочется иметь какой то удобный компромис из коробки, который бы покрывал часто используемые кейсы