Nothing is stopping you from starting and using GenServers at compile-time.
However, there is probably a better way to do what you want to accomplish here.
Structs that relate back-and-forth are not usually things we like to do in an immutable/functional context.
In the few situations where we do want to refer back-and-forth between structs, a common technique is to keep track of things in a couple of arrays, and then you can store the indices of the elements in each-other’s structs, and use these as “poor man’s pointers”. But again, this is for highly specialized situations; it almost always is better to (re)structure your code so that back-and-forth references are not necessary.


















