This is a bit confusing - but I was recently looking for something in the F# specification and came across this:
type 'T ``[]`` with
member a.Last = a.[a.Length - 1]
[| 1 .. 10 |].Last
The double-backtick encoding is normally used to turn reserved keywords into valid F# identifiers (e.g. if you want to have a property that has a space in the name, or is named let
). Here, it probably means that the compiler needs to treat []
as an ordinary type "name" rather than as a special syntax for arrays.