Does that mean that I will have to write specialised functions for each ESXRecordT?