Naming convention improvements
I don't think the language benefits from the use of abbreviations especially when they are not consistent. For example
type ResizeArray<'T> = System.Collections.Generic.List<'T>
I would say that should be named ResizableArray. The current naming sounds like a function. There are more examples of this type of abbreviation that I will try to add when I am reminded of them.
While the suggestion is reasonable, this decision was made as part of the F# 2.0, and the slight improvement isn’t sufficient to justify the breaking change renaming at this point
Don Syme, F# Language Evolution
What's inconsistent in this example is that array is not abbreviated to Arr. "ResizeArr" You either abbreviate or don't you don't just pick words randomly to abbreviate and leave others.
Jared Hester commented
It the context of all the other collections it doesn't sound like a function. Modules requiring qualified access with the same name as the data structure they're operating over contain functions that are typically verbs.
Furthermore the purpose of the abbreviation is to prevent collisions with the List implemented in FSharp.Core
Other abbreviations used in core are:
unit, ref, list, obj, exn, nativeint, unativeint, string, float32, float, single, double, sbyte, byte, int8, uint8, int16, uint16, int32, int64, uint64, char, bool, decimal, int, array, option, seq
@Dono you haven't stated what is inconsistent about this abbreviation