C#で Dictionary<A, List<B>> を IReadOnlyDictionary<A, IReadOnlyList<B>> として公開する

してはいけないこと(Dictionary内の要素を書き換える)は、できないようにするべき。ということで、
こういうコードをよく書く。

public IReadOnlyDictionary<string, IReadOnlyList<int>> PublicDictionary { get; }
private readonly Dictionary<string, List<int>> _privateDictionary = new();

public Hoge()
{
    PublicDictionary = _privateDictionary.ToDictionary(x => x.Key, x => (IReadOnlyList<int>) x.Value);
}

もう少しスマートな書き方ないのかな〜と思いながら書いている。


追記(2023/04/23)
この件に関して頂いた勉強になるコメント