"Added MIT License file 🤠" <- The example on the `broken` branch appears to overflow the stack. It places a `TxDT<512, 12>` and a `RxDT<512, 12>` on the stack, requiring 12KiB just for data buffers. We're OK at this point. But now that the `RT1062Phy` owns descriptor tables, it's becomes as large as the descriptor tables. The Phy is also on the stack. That's another 12KiB just for data buffers on the stack. At this point, we're underestimating stack usage at 24KiB. The BSP's runtime only allocates 16KiB for the stack, so we're over the limit. Once exceeded, the stack pointer is in reserved memory beneath DTCM. First access should fault, and the example doesn't run. I like the approach that borrows the descriptor tables and data buffers. Not only does it use less memory, but it's also safer in case the `Phy` object moves while transfers are in flight.