pub type Optional<T, D = Nothing, P = Optional> = DelimitedVec<T, D, P, 0, 1>;
Zero or one of T delimited by D or Nothing
Nothing
pub struct Optional<T, D = Nothing, P = Optional>(/* private fields */);