pub type ExpandResult<T> = ValueResult<T, ExpandError>;
struct ExpandResult<T> { pub value: T, pub err: Option<ExpandError>, }
value: T
err: Option<ExpandError>