public static Task <Option <TThree> > Three <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour>(this IUnionTask <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour> > > union) where TUnionType : struct where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour> => union.Match(_ => Option.None <TThree>(), _ => Option.None <TThree>(), Option.Some, _ => Option.None <TThree>());
public static Task <Option <TTwo> > Two <TUnionType, TUnionDefinition, TOne, TTwo>(this IUnionTask <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo> > > union) where TUnionType : struct where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo> => union.Match(_ => Option.None <TTwo>(), Option.Some);
public static Task <Option <TEight> > Eight <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight>(this IUnionTask <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> > > union) where TUnionType : struct where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne, TTwo, TThree, TFour, TFive, TSix, TSeven, TEight> => union.Match(_ => Option.None <TEight>(), _ => Option.None <TEight>(), _ => Option.None <TEight>(), _ => Option.None <TEight>(), _ => Option.None <TEight>(), _ => Option.None <TEight>(), _ => Option.None <TEight>(), Option.Some);
public static Task <Option <TOne> > One <TUnionType, TUnionDefinition, TOne>(this IUnionTask <IUnionValue <UnionDefinitionBase <TUnionType, TUnionDefinition, TOne> > > union) where TUnionType : struct where TUnionDefinition : UnionDefinitionBase <TUnionType, TUnionDefinition, TOne> => union.Match(Option.Some);