okay my question is a bit broken, I am allocating the strings to the heap because a procedure is returning these structs as a heap allocated dynamic array where their strings are also heap allocated.
but I think your reply helps, I should just not over think it and make a free method for it. (edit: found this post by gingerBill that helps Question about terminology: `make` vs `new` vs `create` - #2 by gingerBill)
is it standard to overload the the destroy procedure when creating a struct that lives in the heap? (edit: never mind that is a stupid question)
edit: I figured it out