まあ、社内システムっていつでもごちゃごちゃになるもんだし、本当にできるなら関数型にすればテストは楽だね。

俺が作ってたシステムは、言語は関数型ではないけど、何が何でもキュー処理システムが処理する結果が正で、それ以外の書き込み許してなかったから、ジャーナルを流し直すとデグレてないかテストができるよ。
業種の問題なんだろうけど。売ってるシステムも、キュー処理システムだけが書き込み出来るようになってる。

非同期対応とかも、もともと非同期を前提にしてたから何も困らんし、キュー処理システムは処理ロジックとして何でも呼び出せるからモックにしようが本番にしようがなんとでもなったな。

変な言語で出来てるけど、どんな言語に持ってっても移植できると思うわ。