(datatype department if (element? D [wages recruitment sales advertising]) _____________________________________________________ D : department;) (datatype record if (and (integer? Age) (> Age 0)) _________________________________ Age : age; N : string; A : age; D : department; ==================================== [N A D] : record;) (define get-age {string --> (list record) --> age} _ [] -> (error "no details for this name~%") N [[N A D] | _] -> A N [_ | Records] -> (get-age N Records))