d3v4 is improving the logic around .enter() a bit. See https://medium.com/@mbostock/what-makes-software-good-943557... Search for "Removing the magic of enter.append"
https://www.youtube.com/watch?v=Y8Fp9z-9DWc
I especially like how they handle interaction (event streams/signals; about six, seven minutes into the youtube video).
Supposedly there's a big update coming late fall, that upgrades vega and vega-lite to the latest version of D3. It also (finally) introduces the interactive bits to vega-lite.