In reply to @im_rob "I have a question": i believe you are approaching it from wrong point nim objects are not like python objects that has init or likes in fact, newXxxx is just a convention, it's just a name style we agreed to use when making library, but theres no "constructor" or anything like that think of it as you giving one convenience procedure to initialize object while developer still can do anything they want, just you giving "default setting" that developer can opt to not use