もしログ取りたくなったらjust loggingって書いてある行でloggingするといいと思います。__main__でガードしてる部分で、挙動確認ついでに簡単に使ってみてます。このコードを実行して得られる結果は以下のような感じです。
ちゃんとメモ化されていること、デコレータが毎回別のミュータブルを渡しているため複数の関数をデコレートしてもキャッシュの混在が起こらない事が確認されました。というのも_cacheの位置が悪いと複数のデコレートされた関数が共通のミュータブルを持つような気がしたからです。