At some point it would be nice to make these private and only allow abstract operations on the bitfields, to hide the fact that they're bitfields.