pub trait Alt<I, O, E> { fn choice(&self, input: I) -> IResult<I, O, E>; }
helper trait for the alt() combinator
this trait is implemented for tuples of up to 21 elements
tests each parser in the tuple and returns the result of the first one that succeeds