In Pascal, you could just declare a structure as "packed", and this packing happened automatically. "packed array [0..n] of Boolean" is an array of bits. That feature has not been copied in more recent languages.
I think Jonathan Blow mentioned some kind of language-level support for structure packing in the language he's designing.