Pre-Scheme is strongly statically typed (with Hindley-Milner typing, not with declarations), so not that good a match for JS.
Personally I've always thought that full-blast interprocedural HM is problematic: a little error and your code may typecheck, but the types assigned are not the types you expected! As a matter of language design, I think it's better if procedure arguments and global variables always have to be explicitly typed; we shouldn't try to infer argument types from calls elsewhere in the program.