pub trait Parse<'a>: Sized { fn parse(input: &'a str) -> IResult<&'a str, Self>; }
Parses item1 item2 item3...
item1 item2 item3...