Copying verbatim from Olivier Dubuisson's reference work[17], ...
More generally, the use of the OCTET STRING and BITSTRING types should always be
the last resort once all the other ASN.1 types have been discarded as
inappropriate models of the problem in hand.
The purpose of ASN.1 is to abstract the data structures, releaving the
designer from the burden of how they are actually represented. In other words,
if the desired data structure is an array of boolean flags, then by all means
use a SEQUENCE OF BOOLEAN
; don't use BITSTRING
s. The desired
output encoding has nothing to do with the data structure ; it is done through
the ASN.1 encodings (DER [18], CER [18], PER [19], XER [20] etc). BITSTRING
s are not supported
by the Data Modeling Toolchain.