// 2) isn't already included in the errorator's error set.
// It's enough to negate contains_once_v as any errorator<...>
// type is already guaranteed to be free of duplications.
- using next_errorator = std::conditional_t<
+ using _next_errorator = std::conditional_t<
is_error_v<ErrorVisitorRetsHeadT> &&
!step_errorator::template contains_once_v<ErrorVisitorRetsHeadT>,
typename step_errorator::template extend<ErrorVisitorRetsHeadT>,
step_errorator>;
+ using maybe_head_ertr = get_errorator_t<ErrorVisitorRetsHeadT>;
+ using next_errorator =
+ typename _next_errorator::template extend_ertr<maybe_head_ertr>;
public:
using type = typename make_errorator<next_errorator,