A record 'r' that contains a special 'base' component is treated in the same way as the base component itself. These record are called extended objects The other components of 'r' are considered as additional data, which is emphasized when printing. Many functions return extended objects, for instance normal forms of matrices are usually extended by the transformation matrices.
x_r := rec(base := 1.2*I+2, what:="a complex number");
x_m := Matrix(Z,2,[1,2,3,4]);