@Varriount: What I originally meant was a pointer to the Context struct itself. But you are right I was not clear on that. For elements in a seq an index works pretty well.
But to your comment on ret types I like to disagree. I don't like to say out in the blue that reference types are like C pointers but safer. If that would be the full truth, then `ref` would be generally better than `ptr` types, and that is not true. My take on explaining ref types is, a `ref` is like a `ptr` but with lifetime management. A `ref` keeps it's target object alive, as long as there is still a ref to it, and ensures it's destruction when it is not referenced anymore. Objects on the stack already have a defined lifetime, therefore you should reference them with pointers. Function parameters are when it makes sense passed as hidden pointers, therefore it is neven an optimization to pass a `ptr` to a function instead of a value type. This basically removes 90% of all cases where you would use a pointer in the C context, and therefore you only need `ptr` here and there. And ref types, well I didn't need it for anything yet, but they are probably very useful for arbitrarily shaped graphs.