Could not agree more. I actually like the built-in functionalities of the ACDL more than GTM's Data Layer. It handles persistence and ephemerality better (what is in eventInfo is ephemeral, what is outside of it is persistent (recursive-merge-like)) and with the .getState() method, it is easier to get the current computed state.