Over in #20, it was noted that the use of compile-time lifetimes to represent the lifetime relationships between the various NVML data structures greatly complicates storing those structures alongside each other within the same object.
The use of Arcs to represent these relationships would likely be an acceptable performance tradeoff to make for this library and would greatly simplify its usage in these situations.