Acabei de notar que o espaço para nome FSharp.Core inclui tipos de matriz genéricos de até 4 dimensões, como Core. [] <'T> , Core. [,] <' T>, etc. C # e VB parecem estar indo muito bem com System.Array - embora não esteja claro para mim como eles conseguem oferecer suporte a tipos de array especializados fortemente tipados como int [], string [].
Eu acho que isso se torna duas perguntas então:
- Como o C # suporta tipos de matriz especializados fortemente tipados como int [] baseados no System.Array não genérico?
- Dado que o C # consegue fazer isso, por que o F # define tipos de matriz genéricos?