Say I have the following: type Vao = object glId: cint
What is the best way to ensure that the resource is released? I can think of 3 ideas: * Manual cleanup proc * Garbage collect with finalizer * Use experimental destructors I would prefer not to use experimental features, but I can if it's really the best way. However, I likely will have these objects on the heap, so the most important distinction is: which of the first 2 is more idiomatic Nim?