@ingox Yes that helps a lot, thanks. I'm just getting started with this stuff and I guess I'm not really familiar with this paradigm and a lot of stuff just doesn't make much sense. I guess I could've started with something simpler.
Re. the pointer, I tried to save the list to a text object but it looks like once the pointers are translated into the real world and become (gpointer), there's no turning back. It looks like they work fine as long as they're hidden inside a [pointer] or a list object, but we can't see them. That's a bit weird.