escape analysis
That seems like a pretty nice tradeoff!
Here are some remarks off the top of my head:
Abstract Interpretation
I see that you are using the term "unification" a lot. Here I assume…
Sanity check for primitive operations type signatures
Objects with non-primitive fields
I agree inlining is not a satisfactory solution. We'd still have the problem for all other functions, and there's no particular reason to have special treatment for constructors.…