<div dir="ltr">I accept the motivation for this change, although I would mention that:<div>- in 2.5 years on a ~200k lines of Swift project</div><div>- we&#39;ve seen a plenty of instances of `flatMap` used where `map` would have been sufficient, but</div><div>- we&#39;ve never burned time on tracking down the sort of compiler issue described by the author in the Motivation. As I say, the argument is fair, but I am questioning how frequently this problem occurs.</div><div><br></div><div>I can&#39;t speak to the previous attempts to solve this problem, but I&#39;d add my voice to anyone advocating solving this by having a compiler warning when `flatMap` is used redundantly(?).</div><div><br></div><div>If this proposal were to be accepted, I&#39;d also question the choice of `filterMap` as a name. This name is presumably shorthand for `filterNonesAndMap`, which conveniently ignores the following:</div><div>- `flatMap` may be used on a sequence-of-sequences to flatten our to a single-dimensional sequence.</div><div>- `flatMap` may be used on other &#39;box&#39; types, e.g. on an optional: `<span class="inbox-inbox-s1">O</span><span class="inbox-inbox-s3">ptional</span>&lt;<span class="inbox-inbox-s3">String</span>&gt;(<span class="inbox-inbox-s4">&quot;foo&quot;</span>).<span class="inbox-inbox-s5">flatMap</span> { .<span class="inbox-inbox-s5">some</span>($0 + <span class="inbox-inbox-s4">&quot;bar&quot;</span>) }` or on the common `Result` type.</div><div><br></div><div>Any re-naming of one `flatMap` should take these other uses into account, as they share conceptual details.</div><div><br></div><div>Thanks,</div><div><br>Sam</div></div>