関数型プログラミングとDIコンテナは相性が悪いのでしょうか? 私は仕事で TypeScript を用いた Web API バックエンドの開発をしています。これまで依存性注入が必要な場面では InversifyJS や TSyringe 等のDIコンテナライブラリを使用して依存性注入を行ってきたのですが、DIコンテナライブラリはクラスに対するDIを前提としており、これを使用すると必然的にオブジェクト指向プログラミングをせざるを得ません。 しかし最近 Google のAPIクライアント等が徐々にオブジェクト指向から関数型で作られたモジュラーSDKに移行していることに気づき、業界全体的に関数型プログラミングに移行するトレンドなのかと考えています。しかし全ての関数の引数が増えたコードはリファクタリングが大変そうに見え、あまりスマートではないような気もしてしまいます。それでも、これから先はこのトレンドに即してDIコンテナに頼らない関数型プログラミングのコード書いていくべきなのでしょうか。