merge: move the filtering of ambiguous files to a dedicated function
I have multiple reasons:
- The body of `_update` is way too long
- This adds typing which will help our tooling and brains understand this
code more easily
- This function will get more nested and complex in the next patch
I've taken the liberty of rewrapping and typo-passing the docstring.
edition = "2018"
max_width = 79
wrap_comments = true
error_on_line_overflow = true