pub fn branch<'a, C, P, I, E>(if: I, re: P, else: E) -> IfRegex<C, P, I, E>where C: Context<'a> + Match<C>, E: Regex<C, Ret = Span>, P: Regex<C, Ret = Span>, I: Fn(&C) -> Result<bool, Error>,