But nobody else does, and I need it more on code I am consuming than producing. In fact, many functions rely on being able to send various types for different behavior. Dynamic programming is crazy to me. It’s like guessing. I don’t know what type your code is accepting and I have to guess based on the name of read your code directly.
I have the opposite experience, a ton of libraries I use provide optional types, and the handful that don’t often have a good reason for it (e.g. numpy). Our projects at work have types almost everywhere, and it’s pretty nice to work with.
But nobody else does, and I need it more on code I am consuming than producing. In fact, many functions rely on being able to send various types for different behavior. Dynamic programming is crazy to me. It’s like guessing. I don’t know what type your code is accepting and I have to guess based on the name of read your code directly.
I have the opposite experience, a ton of libraries I use provide optional types, and the handful that don’t often have a good reason for it (e.g. numpy). Our projects at work have types almost everywhere, and it’s pretty nice to work with.