Map over type records, union, intersect. Renamed some of the full record type constructors as they
were conflicting with some of our accessor procedures.