I made a lib for this some time ago which seems to do the same:
I haven’t published it yet since I was going to put it up here first to get some feedback. I guess you beat me to it 
In my company we switched to using this style some months ago and we like this style better. It produces code that is easier to understand, and it also avoid bugs when reordering/adding fields in a record.