That sorta goes hand-in-hand with &quot;There shall be no use of dynamic memory allocation after task initialization.&quot; Which in my experience is the harder rule to deal with. It&#x27;s not that often that you really truly need recursion. It happens, just not often. But no allocations, that radically changes how one codes.<p>But, these rules are for safety on embedded systems with very small amounts of memory. These represent the best lessons learned, the best ways to guarantee your function will finish in finite time and not run out of memory.