In Search of Types (2014) [pdf]
humprog.org
humprog.org
Consider how it could be seen as a bit disappointing how the author goes to all these lengths with "type" and then deals with "memory safety" by merely repeating the often repeated tags "spatial" and "temporal" which is missing phenomena like corruption through unrestricted concurrent access or other memory model aspects.
It seems that coming up with a complete ontology that would capture all nuance is going to be out of the question and not how technical language works. Rather, technical definitions can be made to work within a well defined scope, which leaves enough room for everyday language to be vague. The question is then what level of generality we want to shoot for.
I found Luca Cardelli's definitions in his CRC handbook of computer science and engineering article very helpful - these are "type discipline" uses of the word which the OP already finds coherent. http://lucacardelli.name/Papers/TypeSystems.pdf
What I like about Cardelli's handbook article is how he lays down type systems in programming languages as its own thing. This is inspired by logic but definitely not the same - just as mathematical logic can well be called the origin of programming languages and PL semantics but then there is so much knowledge, difference in purpose and practical concerns that separate the two fields.