Datapath: Handle multiple structs of variables

The implementation of #49 (closed) explicitly only handles variables of the FIRST struct encountered.

!52 (merged) can cause the entries to be reordered, in case of nested structs

The effort to handle multiple structs is not too big. So why not cover this, in case users' workflows organize the data in such a way?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information