なんとなく思ったことですが
関数 a が 関数 b を呼んで 関数 b が 関数 c を呼んで …… と どんどん深く関数を呼んでいく作りより
関数 c の返り値を引数にした関数 b を実行して その返り値を引数に 関数 a を実行して ってできるだけやったほうがデバッグが楽そうです

ただ 引数が増えるし 簡単に切り替えようっていうのは難しい気もする