The compiler reports an error because there is no way -- in general -- that it can tell whether two expressions, (in this case l and l) refer to the same list.
Related, somewhat generalized, question:
How does the JLS specify that wildcards cannot be formally used within methods?