Please see blo_do_versions_290_cc() at the very end to see how this would be used in practice.
Idea was to "sandbox" version patches (right now an accidental return can cause quite some trouble) and avoid some boilerplate (almost each version patch iterates over a main listbase, this could be done automatically by a wrapper). Eventually it should be possible to move version patches to the source files of the type they belong to.
I'm not sure if I like this yet. It looked much better in my head ;)