fn parse_list<'a>( tokens: &[&'a str], start: &str, mask: &mut impl FnMut(&'a str) -> u32, ) -> u32
There can be any amount of weaknesses or immunities.