EncryptAes(byte[] plaintext, byte[] key)string or byte[] but then i have to declare 3 other function overloads. So my approach was something like EncryptAes(EncryptionInput plaintext, EncryptionInput key) and then a bunch of public static implicit operators.