I have a PR for it - https://github.com/apache/spark/pull/12574
Sadly I've been tied up and haven't had a chance to work further on it. The main issue outstanding is deciding on the transform semantics as well as performance testing. Any comments / feedback welcome especially on transform semantics. N