pub type MaybeRef<'a, T> = Maybe<T, &'a T>;
A value that may be a T or a shared reference to a T.
T
pub enum MaybeRef<'a, T> { Ref(&'a T), Val(T), }
We have a reference to T.
We have a value of T.