Question about wrapping pure memory and peeking
I've looked into gitter but it seems quite dead so decided to raise an issue (sorry about that. Perhaps enabling github discussions would make this better?).

I have a few questions:

1. I have a project that uses multiple languages that interact with each over using shared memory. Not all data is linear (i.e, you have pointers to things that are somewhere further away in memory). Currently I have to reimplement the same structs, accessors, etc in all languages. I was hoping that I could perhaps use kaitai for that, so that I don't have to reimplement the structs in every language. However, I don't see a way to wrap memory address in a struct, and it also seems that it insists on copying everything, so I can't just use kaitai as a read and write accessor just on pure memory? (I.e, setters mutating the memory they are wrapping). Is that correct?
2. i have a sequence of structs that have a type byte at the front that I'd like to switch on when reading these structs. However I'd like to preserve the type byte in the struct instances themselves, as there are cases where the struct value it dependant on the total structs size, and if the type byte is consumed by the switch, there would have to be some manual calculations involved to work that out. Can i type switch by peeking and not consuming the type byte, so that its still available as the first byte in the struct?

Thanks.