public static TSource ElementAt <TSource>(this List <TSource> source, int index) => ReadOnlyList.ElementAt <List <TSource>, TSource>(source, index);
public static Option <TSource> ElementAt <TSource>(this ImmutableList <TSource> source, int index) => ReadOnlyList.ElementAt <ImmutableList <TSource>, TSource>(source, index);
public static TSource ElementAt <TSource>(this ImmutableArray <TSource> source, int index) => ReadOnlyList.ElementAt <ImmutableArray <TSource>, TSource>(source, index);