On second thought, there is at least a significant subset of backends that will have significant shared code: backends with a distinct container for each variable, like a NpArray backend or SQL backend. However, I still think these can be made significantly simpler.