Given that Clojure constrains import, it could infer/guess more about untyped method calls.
(.foo untyped-x ...)
- See which imported classes have a
foo method of matching arity
- Compile one or more speculative typed calls
- if type guard fails, default to reflection
- Auto-method wrapper generation based on above