still to come back to the original thing, in rust you need to do a lot of things, that you may not need to do in certain areas like IRQ's, that technically are not needed. A somewhat contrived example, but recently i wrode some embassy async stuff on a atmega328pb. While overall it was nice, writing the support for it was still a bit plagued by underlying stuff, because ( mostly the targets fault) it would produce suboptimal solutions. A example is just this accessing global state, even like a AtomicWaker is just potential hugely wastly. Since avr does not have atomics for every instruction it stored the IREG and it inserted cli instructions, despite the hardware itself makes sure that on entering a interrupts are disabled ( at least the default behaviour). A little overhead may be fine, but it spirals out of control when then you have more stuff in your lcoal registers and more and more registers need to be saved/ restored just because some code was not optimal. Same with accessing even raw pac stuff to access the needed state of the ISR, like the current Timer value or such. While i am onboard that for 99% of the time people dont need or should write IRQ's. If it comes to the point we should still strive to make it less cumbersome ( while still don't throw out rust's positives)