Thanks for the advice! I'm coming from a primarily C# background so I recognize the importance of information hiding. Good to know how it's done in Nim!
My primary interest for object construction in Nim is for external C APIs that use lots of structs (such as Vulkan and sokol_gfx). I really like having inline initialization syntax rather than having to specify fully-qualified members one at a time. But when dealing with large structs with many members it can get difficult to remember their names. Hence my interest in autocompletion. :)