If you want to understand type systems, Types and Programming Languages (https://www.cis.upenn.edu/~bcpierce/tapl/) is the book most people start with. If that is too advanced for you, PLAI (https://www.plai.org/) is a gentle introduction to programming language theory which includes type systems.
(By 'reasonably typed' I mean something like Haskell, OCaml, even TypeScript or Facebook's hack. But not Go, C++ or Java.)
A bit more advanced, and geared towards library authors, is Type-level Typescript.[1]
[0]: https://github.com/total-typescript/total-typescript-book
"Python Type Challenges" (https://github.com/laike9m/Python-Type-Challenges) — Master Python typing (type hints) with interactive online exercises
This is a comprehensive resource that I use as a reference. Happy reading!
So now I wonder, do people really spend so much time in weakly typed languages that types seems to be a special concept? Or is there something about types that has gotten so complex that its worthy of extra study?
*I did do some BASIC as a middle schooler but it didn't stick. C did.
Examples in typescript (so syntax should be familiar compared to e.g OCaml) and teaches you how to model a domain in types and how to think in terms of a type system, instead of diving into the details of how to implement one.
Typescript might be nice because of how it’s a gradual typing system, just try and do a bit more and more with it as you go.
https://www.manning.com/books/type-driven-development-with-i...