oh my god why can't you move out of a std::initializer_list? what am i supposed to do with my unique_ptrs? there isn't really any other option for a varargs constructor, right?? there's just template parameter packs, and they seem to have godawful inference.
what the hell.