@override Option<E> decode(Input input) { if (input.read() == 0) { return Option.none(); } return Option.some(subtypeCodec.decode(input)); }