ESPHome separate PIO Envs for every device

Is there a reason ESPHome seems to use a separate Platformio Environment (.pioenvs/<devicename>) for every device?
All my devices are quite similar setup, and Platformio doesn’t have any issues compiling for multiple devices in the same environment, but it seems like quite a large disk space & compilation overhead to use totally separate environments the way ESPHome is currently set up.

I’m guessing there’s probably some kind of justification, perhaps other types of ESPHome setups where it’s necessary? Any suggestions?

I’d definitely like the option to disable this so that the devices can share compilation assets, libraries, etc.