ScopeExit
class ScopeExit
explicit ScopeExit(F&& fn) : fFn(fn)
~ScopeExit()
ScopeExit(ScopeExit&& other) : fFn(std::move(other.fFn))
ScopeExit(const ScopeExit&);
ScopeExit& operator=(const ScopeExit&);
const auto& kernelExit = ScopeExit([&]() {