ListMonoid now only exposes IReadOnlyList