https://www.lukas-barth.net/blog/efficiently-allocating-shared-ptr/