Right now, colorsets can only hold 64 colors, or 26. This makes no sense to me. A full byte contains 8 bits, so unless those other two bits are used to store a brick's rotation, we're letting two valuable bits of information in every brick go to waste. A full byte can store a value of 28 or 0-255 (or -128 to 127, but colors shouldn't need negatives), meaning that we could have 256 colors per byte if we include 0. So why not? Obviously, no reasonable colorsets would include 256 colors, but I've faced this problem designing a colorset myself. You just need that one extra column, but you have no space for it.
I could be completely wrong about how this works, but as far as I know there's no number type in C++ that has a value of 0-63, so I assume Blockland uses bytes for this.