[racket] Puzzled about type inference
>> add type declarations to variables and fields and function and method signatures.
>
> A good motto, which I shall endeavour to remember.
what i do not get about TR and other languages (ocaml, haskell, etc.)
is: there are these rules of thumb that you must somehow learn to keep
yourself out of the weeds, but you only get to learn them the long and
hard way. why don't the runtimes/ides
(1) have a switch that says "hey, force me, the user, to put in type
annotations by hand in the critical places, ok? so i don't have to
suffer so much down the road, ok?"
(2) put the inferred annotations into the code as it goes along so i
can see what kind of crazy talk the inference engine is having with
itself?