Very good question! To be honest, when discussing the compatibility of Arduino, we had a big debate in the team from the beginning! Some members wanted to optimize the size, and others wanted to make it compatible with shields.
After research about all the functions of shields, we found that the most commonly used shields are Ethernet/WIFI/Bluetooth/LCD display ones. Since 80% of the features of all shields are already integrated in LattePanda, we choose to optimize the size for this particular version. We will however listen to any suggestions from our community.