Work around stupid C++ committee desicision

As it tunrs out, the constructor for `std::tuple` is explicit, meaning that our
nice and easy syntax for `mode::add_all` isn't doable and fails to compile on
GCC. We work around this bullshit by using a struct instead.