>一ヶ所変えるだけであらゆる関数の引数や返り値の型を全部変える必要が出てきて

これはわからんでもないが

>それに伴って既存テストコードも全部動かなくなって

なんでそうなるのか意味不明