One thing about Julia type inference is that it’s a heuristic based type inference, designed for optimization for dynamically typed languages, instead of rule-based type inference, where the behaviors are more predictable. Also, Julia objects need not be type-inferred to have a correct behavior. Also, Julia design is that you actually do not need type stability everywhere, only in compute-intensive functions calls.