I just tried to add that compatibility and stopped at about 300 additional lines without even having full compatibility. I guess I'd need another 200loc to get this compatible. So it's adding about 300-500 lines of code ... quite insane considering the amount of code this is.
It's not worth doing a cleanup if you need even more code to re-add exactly old semantics. If we want code like this imho the only way to get it is breaking compatibility.