IV, randomIV, mkIV and encrypt should all be hidden inside an Internal module. Only encryptIO should be exposed by the API.
The reason being that we should provide an easy to use interface that makes it harder for one to shoot themselves in the foot.