Record accessors
The record accessor syntax record.field_label can be used to get
contained values from a custom type record.
The accessor syntax can always be used for fields with the same name that are
in the same position and have the same type for all variants of the custom
type. Other fields can only be accessed when the compiler can tell which
variant the value is, such after pattern matching in a case expression.
The name field is in the first position and has type
String for all variants, so it can be accessed.
The subject field is absent on the Student variant,
so it cannot be used on all values of type SchoolPerson.
Uncomment the student.subject line to see the compile error from
trying to use this accessor.