I believe allowing what is proposed would give developers an easy path to sacrifice clarity for brevity.
One of the strengths of the original if let shorthand proposal (SE-0345) was that its brevity encouraged clarity by not forcing a redeclaration of an already well-named variable.
With this proposal, with some very common cases, such as the first property of collections, the automatic name would almost never be a clear one, but would definitely be shorter to type:
guard let customers.first else { return }
// 'first' is the easiest name, but almost never a good name
print(first.firstName, first.lastName)
But, since this would be shorter and easier to type, it encourages developers to use poor variable names.
It also sets up the potential of conflicting implied names, for example:
guard let budgeted.total, let actual.total else { return }
or
guard let locales.first, let languages.first else { return }
Where the shorthand works on the first use but not the second.
The compiler could potentially work around this by creating an automatic variable names such as budgetedTotal, actualTotal, localesFirst, and languagesFirst.
In some cases, that can lead to a descriptive variable name, in some cases like localesFirst, not a great name.
Alternately, there could be a limitation of only one of these allowed per conditional statement:
guard let locales.first, let firstLanguage = languages.first else { return }
// first automatically refers to locales.first
// firstLanguage explicitly refers to languages.first, since the ‘automatic’ name is already taken
In this approach, the rules for which syntax is valid, depending on previous become very complex compared to the current syntax.
Finally, the construct if let locales.first is not declaring something called locales.first, whereas the shorthand introduced with SE-0345, if let foo, is declaring a new variable foo, so stays true to the meaning of let. It's the right hand side of the current expression that is omitted with the shorthand, not the left hand side.
For these reasons, whereas I was strongly for the SE-0345 if let shorthand proposal, I do not support this proposal because I believe what is proposed would lead developers to sacrifice clarity for brevity.