Wraps a hard-recursive struct field value.
Default should be treated the same as the default value of a.
Default
a
pub type Recursive(a) { Default Some(a) }
Treat this like the default value of a.
Some(a)