#pragma once #include #include #include template [[nodiscard]] Result make(Args... args) { T* const result = (T*)TRY(malloc_impl(sizeof(T))); new (result) T(args...); return result; } template void destroy(T* item) { delete item; }