I think you can directly use TRec as pointer. Internally most things are handled as pointer? Not sure...

(I work as C# (.NET) programmer now for 4 weeks, so I'm also learning...)