Some of us working in hybrid OO-FP languages or strictly FP languages might argue against IoC. I have seen and been exposed to code bases while beautifully written are completely untraceable in cause-effect debugging. Which combination causes the error? Which config was that environment set to? Let me try to divine the structure...