Added support for IList<>, ICollection<>, IReadOnlyList<> and IReadOnlyCollection<>