public static Optional <T> ToOptional <T>(this TaggedUnion <T, Unit> union) => union.Fold(Present <T>, Absent <T>);