>> The warning seems to say opposite:

> Yup. The way I thought about it when I wrote it is that `load-path'
> is a dynamically-scoped var, not a lexical var. But indeed, here it
> will (locally) be a lexical var, so the wording is rather poor.
>
> Suggestions for better wording?

How about:

  Warning: Lexically bound argument %s is already defined as dynamically bound