The main reason M3 took a long time isn't related to m3 itself, but rather that the asahi project took on a ton of tech debt to get M1/M2 working. M3 wasn't too difficult, but before taking on the additional tech debt, the Asahi team focused on getting all of their changes upstreamed to the linux kernel.