### What it does Checks for usage of `_.map(_).flatten(_)` on `Iterator` and `Option` ### Why is this bad? Readability, this can be written more concisely as `_.flat_map(_)` for `Iterator` or `_.and_then(_)` for `Option` ### Example ``` let vec = vec![vec![1]]; let opt = Some(5); vec.iter().map(|x| x.iter()).flatten(); opt.map(|x| Some(x * 2)).flatten(); ``` Use instead: ``` vec.iter().flat_map(|x| x.iter()); opt.and_then(|x| Some(x * 2)); ```