Thanks! No reason to be using raw pointers - I think I was trying to be clever for no reason going down a futile route. I think somewhere in my head thought I was creating multiple copies of an identical object by passing the base `Thing = object` into procedures and I was trying to prevent that. I think the `ref object` is actually what I'm after... so I will do some further tests using that knowledge now!
Thanks for setting me off in the, hopefully, right direction now!
