FIXUP: noreturn
Move to std::make_unique