In practice, this seems to lead to no change if the Python function doesn't return, but allows it to return a value that will be passed along.
Yeah, I don't mind if this gets merged as is (once tested), and improve the other stuff later. I'd be interested to hear @kugel-'s thoughts since I think he wrote this code, or at least looked at it more recently than me I think.