public Option <IReadOnlyList <String> > TryGetCachedEmoteList(String channelName, EmoteCategory category) { if (CachedEmotes.TryGetValue(channelName, out var categoryList)) { if (categoryList.TryGetValue(category, out List <String> emoteList)) { return(() => emoteList.AsReadOnly()); } } return(Option.Nothing <IReadOnlyList <String> >()); }