Making proper use of functional (stateless) paradigm in non-functional languages embodies a bunch of other good practices (testability, isolation, dependency inversion...).
Refactoring can always be done with a running (no-downtime) system at no extra cost (time or money) compared to rewriting or downtime-requiring approach.
You can always deliver user value and "paying up technical debt" can and should be done as part of regular work (corrollary from above: at no extra cost).
We'll never do away with physical keyboards for inputting text (yet I only have one mechanical keyboard I don't even use regularly :).
Refactoring can always be done with a running (no-downtime) system at no extra cost (time or money) compared to rewriting or downtime-requiring approach.
You can always deliver user value and "paying up technical debt" can and should be done as part of regular work (corrollary from above: at no extra cost).
We'll never do away with physical keyboards for inputting text (yet I only have one mechanical keyboard I don't even use regularly :).