I just updated my mid-size app from v8.2 to v9 with Ivy, and the total es2015 bundle size decreased from 973 KB to 669 KB. An over 31% improvement with no effort on my part!
It reminds me of a great hack where game developers used to hide a large memory allocation early in the game development process and when they ran into memory constraints towards launch they'd just comment out the line and instantly save the day. Artificially constraining the memory caused intermediate development to be more frugal and ultimately allowed them to get where they needed to be by the end of it.
We also worked on making the runtime tree-shakable, so in your final bundle you can get only what you use.
Additionally, we made sure the code we generate compresses well with popular algorithms.
Is that minified and gzipped?
That being said, 973kb seems like large-sized rather than mid-sized to me.