Records
-------

Passed by reference in when used as argument or in function.
Returned by value (a copy of the record).
There is no way to attach a reference back to the original array where the
record is obtained.  The array could be released while there are references
to the record which refers to the data buffer of the array if by-reference
mode is allowed for the return of a record.

