public static Parser <TToken, T> Choice <TToken, T>( IDelayed <ISeq <Parser <TToken, T> > > parsers) { return(parsers.Force().Case( empty: () => Parser.Fail <TToken, T>("Failure: Combinator.Choice"), headAndTail: pair => pair.Item0.Or(InternalCombinator.Choice(pair.Item1)))); }