Not trying to convince anybody of anything, but as a public service to expand your mind, I strongly urge anyone interested in these types of ideas to FORGET WHAT THEY THINK THEY KNOW OR HAVE HEARD and to REREAD Charles Simonyi&#x27;s (he invented WYSIWYG) seminal piece of his PhD thesis which now is some 40 years old. Forget what you THINK you remember about these ideas--they&#x27;ve been butchered in popular understanding--read the original work and digest his system as a whole and on its own merits.<p>[EDIT add paragraph: Simonyi&#x27;s overarching idea was to implement a novel solution to a familiar problem which I&#x27;ll try to state as succinctly as possible: if two programmers are independently given the same programming task, and they turn out to write down the exact same code, you have won. Maintenance and working on other people&#x27;s code is now solved if it&#x27;s the same code you would write yourself. That&#x27;s the problem he is trying to solve while also, incredibly, speeding up the process of independently writing code.]<p><a href="https:&#x2F;&#x2F;msdn.microsoft.com&#x2F;en-us&#x2F;library&#x2F;aa260976(v=vs.60).aspx" rel="nofollow">https:&#x2F;&#x2F;msdn.microsoft.com&#x2F;en-us&#x2F;library&#x2F;aa260976(v=vs.60).a...</a> (please read past dr. dimento&#x27;s introduction)<p>Pay particular attention to his notions of &quot;type&quot; that lead his naming system quite logically to very opposite conclusions as OP. He&#x27;s not talking about underlying implementation types, he&#x27;s talking about the properties of the abtract types that you keep in your head and only attempt to capture in code. Absolutely DO encode them in the name of the variable so it is completely unambiguous what you mean, so it&#x27;s a contract you will live up to; not for communicating to the compiler, for communicating to other human beings: your compiler talking to other human beings is not that effective.<p>As a simple example, how many times have you said to your coworker &quot;you need to pass me the file&quot; to which they&#x27;ll respond, &quot;the file handle (by which they mean POSIX), the file name, the file path, relative, absolute, socket, URI, or do you mean the FILE pointer?&quot; These are all notions of type that are best resolved with a shorthand unambiguous (and yes, local) language which is precise about type.<p>It helps you track meaningful distinctions and shed meaningless.<p>Bear in mind that this system comes from &quot;the age of C&quot;; as such, it helps make simple concepts that many programmers find disturbingling confusing: if &quot;ch&quot; means &quot;it&#x27;s a character&quot;, and p- as a prefix means &quot;it&#x27;s a pointer&quot;, then a &quot;ch&quot; and a &quot;* * ppch&quot; will have the same type. What are the attributes of that character type? You need to learn them or define them; I never said it was a C char and you shouldn&#x27;t think that either; it will be only if those are the type attributes that are useful to your abstract type.