I agree with you! I dislike the name enum and really like how F# does it. In F#, everything is type and what kind of type you create comes down to the type construction literal you use.
`
(* enum )
type 'a Option = Some of 'a | None
`
( struct - well: record. *)
type Company = {
Name : string
Age : int
}
` (* enum ) type 'a Option = Some of 'a | None `
( struct - well: record. *) type Company = { Name : string Age : int }
Fudge. No idea how to format that in HN.