I'm sure Java dis some things first, as I said. It's great that you mention some.
>That's how we've been able to avoid properties and just have algebraic data types
By algebraic data types you mean product types or sum types?
>That's how we've been able to avoid properties and just have algebraic data types
By algebraic data types you mean product types or sum types?
I wouldn't call that a good example of sum types. You can use sealed classes or other mechanism in C# to emulate sum types. I was thinking about something built in the language.
Example:
type IntOrBool = | I of int | B of bool