Used by the optimizer to inline classes as records with multiple fields.
They are desugared as several local variables by JSDesugaring.
Record types cannot cross method boundaries, so they cannot appear as
the type of fields or parameters, nor as result types of methods.
The compiler itself never generates record types.