This leaks the internal structure to clients. The `toString` should return the semantic representations: `BitVector(24 bits, 0xfb0a01)`