I would barter all of these improvements for a less noisy but performant elemement accessor syntax:
becomes something like:
$it->@( $key $idx section $i some.doc method1() sub1(5) method2($x)
or something smarter...
Disambiguation: If the actual element is blessed and can('method1'), it is invoked.
Otherwise it is treated as a function call (:: might be used for further disambiguation).
I.e. similar to Data::Diver, just more efficient together with a pragma or other method to control auto-vivification. Yes, I am aware, that I could build something similar as a module, but it would be pure Perl.