IEnumerable vs IReadOnlyList
That’s by the way also true for IEnumerable itself. This interface provides only the basic functionality for working with collections (really, just iterating through them), and so if your method requires more than that, also state that requirement up front. For example, if the only thing you need out of a collection is the capability to enumerate its elements, it’s fine to use IEnumerable:
public void SomeMethod(IEnumerable<string> collection)
{
foreach (string element in collection)