> Unlike C++, which allows implicit memory allocations and complex copy constructors

It is trivial to ensure this doesn't happen at compile-time. If you are doing DMA as in the article these guarantees are required.