MemoryPool::MemoryPool(MemoryPool& from, size_t size) {
    from.delay((DelayedFunc*)(void (*)(MemoryPool*))&destroy<MemoryPool>, this);
}