No, that’s not what I’m asking. Static languages traditionally have well-defined rules about what qualifies as a well-typed program and what doesn’t. These rules are part of the definition of the language and guarantee that the compiler can determine what the types of all values are. I cannot find any such rules explained anywhere for Nim. I’d like to know what they are.