The three-argument overload documents `\param last2`, but its parameters
are `first1`, `last1`, `first2` — `last2` is a local variable computed
inside the body. The four-argument overload right above it documents
`last1` correctly.
Both `\fn` lines also spell the first two parameters `first` and `last`
while the declarations use `first1` and `last1`.