Considering the negligible cost of calling `type.Assembly` wouldn't it be better to make `IsSystemTypeCache` a `Dictionary<Assembly, bool>`???