The problem is that I need these data structures to be visible to an entire family of functions. Passing a structure into a function only passes it by value, and anything defined inside a function is a local variable that's erased when the function ends. I know there are workarounds - DEF FUNC X OUT X - but one of my goals with this library is to make the syntax as simple as possible.