My thinking on ModeWithNoParameters was that if we had someone implement a mode and forget to register it to an ABC I didn't want the module to silently pass a null to the underlying encryptinit. I can remove it if people don't think that's a serious concern though.