Modes ECB and CBC can only handle full 16-byte frames. This means
the length of every strict bytestring passed in must be a multiple
of 16; when using lazy bytestrings, its component strict
bytestrings must all satisfy this.
Other modes can handle bytestrings of any length, by storing
overflow for later. However, the total length of bytestrings passed
in must still be a multiple of 16, or the overflow will be lost.
In addition to the existing modes, a small amount of extra code
could add support for CTR