Yeah, I gave up relying on type inferencing; at minimum I add type annotations to every exported function in a module, and every function that calls out to an external resource (i.e., a function that reads from an external database, I'd declare what is returned).