if you pass a pointer to something in object memory into function,
make sure GC cannot move the object while function uses/accessing its contents.

How?