I’ve recently dove head first into typescript on a side project - using it for a rest api, server-side app with express and using it for client side js at the same time. I’ve mostly loved every minute of it, everything feels cleaner, safer and faster (development wise). But I would like to understand better how to share types around, both externally defined (like for libraries or built-ins) and for custom defined types that don’t have concrete data structures that go along with it. Plus the best ways to extend externally provided types - to define custom types and keys on an express session for instance. Not necessarily looking for this information here - just a statement that there is a lot of shallow feature declaration information out there but its hard to find deeper understanding of how some of it works.