canonical instance of ByteEncode for any algebraic data type
ByteEncode
canonical instance of ByteEncode for vectors