in include/DirectProductAbstractDomain.h [244:253]
std::enable_if_t<Index != sizeof...(Domains)> combine_with(
const Derived& other, Operation&& operation, bool smash_bottom) {
auto& component = std::get<Index>(m_product);
operation(component, std::get<Index>(other.m_product));
if (smash_bottom && component.is_bottom()) {
set_to_bottom();
return;
}
combine_with<Index + 1>(other, operation, smash_bottom);
}