Junior programmers may not be writing compilers but there are at least two scenarios I can think of defunctionalization can become useful to the mediocre programmer.
1. Serializable, scriptable configuration parsing (i.e used widely in video games such as visual novels)
2. RPC over network where request/response paradigm isn't applicable (i.e a distributed state machine, language server etc)
Both of these can be worked around with existing techniques but they can also benefit from defunctionalization for much better debug-ability.
In my comment, I stated that even non-junior programmers have hard time reading these kind of articles and I believe they already deal with problems like 1 and 2 in their career.
1. Serializable, scriptable configuration parsing (i.e used widely in video games such as visual novels)
2. RPC over network where request/response paradigm isn't applicable (i.e a distributed state machine, language server etc)
Both of these can be worked around with existing techniques but they can also benefit from defunctionalization for much better debug-ability.
In my comment, I stated that even non-junior programmers have hard time reading these kind of articles and I believe they already deal with problems like 1 and 2 in their career.