I've got no issue with this change, but now that I look closer, I think it's interesting that the base List class implements IReadOnlyList, but the AsReadOnly method wraps the entire List in a ReadOnlyCollection. I suppose it's so you can't simply cast back to List or IList and start modifying things, but it does mean you won't have access to your new property if you use AsReadOnly
I will think about it.
The idea is that all read only code may work with readonly list as it was before. But when instance reaches serialization layer than it has readonly span.
I've got no issue with this change, but now that I look closer, I think it's interesting that the base List class implements IReadOnlyList, but the AsReadOnly method wraps the entire List in a ReadOnlyCollection. I suppose it's so you can't simply cast back to List or IList and start modifying things, but it does mean you won't have access to your new property if you use AsReadOnly