Элементы в кортежах не имеют имен, а это означает, что у вас часто нет четкого способа документировать значения каждого элемента.
Например, в этом размеченном объединении:
type NetworkEvent =
| Message of string * string * string
| ...
Я хочу прояснить, что первый и второй элементы являются именами отправителя и получателя соответственно. Будет ли хорошей практикой делать что-то вроде этого:
type SenderName = string
type RecipientName = string
type NetworkEvent =
| Message of SenderName * RecipientName * string
| ...
Многие библиотеки C / C ++ имеют большое количество типов (например, win32.h), но на этих языках, хотя имена параметров во многих случаях необязательны, они все же могут быть сделано. С F # дело обстоит иначе.