I imagine there's as sweet spot between type inference, an LSP "add type annotations" action and a "function missing annotations" warning option. Smooth out the exploratory stage, flip to "strict" with one button and a way to enforce "strict" mode.
I actually find that annotated parameters and return types help me during the exploratory stage too otherwise I invariably end up making a typeerror somewhere and the errors aren’t helpful (the error shows up in the wrong spot, or the function mysteriously changes type)
Comments
I imagine there's as sweet spot between type inference, an LSP "add type annotations" action and a "function missing annotations" warning option. Smooth out the exploratory stage, flip to "strict" with one button and a way to enforce "strict" mode.
I actually find that annotated parameters and return types help me during the exploratory stage too otherwise I invariably end up making a typeerror somewhere and the errors aren’t helpful (the error shows up in the wrong spot, or the function mysteriously changes type)