At the type system, support modes requiring only an block encryption function (as opposed to both encryption and decryption)
bring back separate types for encryptors and decryptors
splitting the trait into two parts: core which works only on blocks (and thus padding-independent) and a buffered wrapper on top of it which would work with slices and will be generic over padding.
OFB should be a stream cipher abstraction (like CTR)
CFB should support a more streaming-like byte-based API (padding is not necessary for decrypting ciphertext of non-block-size-divisible length, and you don't need to encrypt the next block until you have the entire block)
Edit: actually I see these are implemented separately in the stream-ciphers repo 🤦
(from https://github.com/RustCrypto/block-ciphers/pull/227#issuecomment-783074558)