The problem is, just like with "function", the usage word of the word "type" is a bit less formal in programming than mathematics.
As far as I can tell, we use "types" in programming for 4 things:
1. Modelling the domain (e.g. type Temperature)
2. Limiting the range of values (e.g. enum)
3. Decision about how to store the data (e.g. ArrayList)
4. Specification of dispatch on values (e.g. file as an interface)
The formal type theory deals with 1 and perhaps a bit of 2. The original usage of types in programming (in old assemblers, Cobol, etc.) was 3. Dynamic programming languages primarily use the term in the 4th meaning.