In what cases does Cthulhu.jl give a more precise inferred return type than Julia's built-in return type inference?

I was testing the inferrability of some of my code with Base.infer_return_type, and found a case with suboptimal abstract inference. When I tried using Cthulhu.jl to debug this, though, descend shows a more precise, optimal, inferred return type.

Any ideas as to why, in general?

1 Like