There were two excellent replies here before but they seem to be gone now. Here’s the playgrounds in case anyone else may find the solution useful:
Also there’s some more info here may be useful to others, but I couldn’t understand it too well myself. I’m still looking it over.