In che modo decidi quale delle seguenti due rappresentazioni (nella sintassi F #) è la scelta giusta in una situazione particolare?
type Choice = A of string | B of string
o
type ChoiceKind = A | B
type Choice = { Kind: ChoiceKind; Value: string }
Evito deliberatamente di dare un esempio più specifico, in quanto entrambi gli approcci possono "sentirsi più naturali" in uno scenario particolare; Sono interessato al ragionamento generale che va nella scelta progettuale.