records as type sets