Cool.
My only concern is making call_info and iseq structs bigger.

I think most of the iseq->arg_keyword_* fields can be moved to a
separate allocation (like catch table) because they are not common
and space may be saved that way.
We may do that after merging this optimization.

call_info is harder to shrink (but more common than iseq, so
size changes have more effect...)