DotBracketVec is a compact representation of secondary structure. Note that
the field is public, to allow unsafe modifications. Thus, DotBracketVecs can
be malformed and should be converted using the TryFrom trait.
Nucleic Acid INdeX: we use u16 (0 to 65k), which is plenty for nucleic acids.
Should you ever want to fold longer sequences, beware that P1KEY needs to
be twice as large (in bits) as NAIDX, since pairs (NAIDX, NAIDX) are
compacted into one P1KEY.