Yes, ivar parameters are exposed as local variables.
One reason for this is that the parameter may have a type restriction that’s different from the ivar. For example when the ivar is nilable, but the parameter is not, the local variables has the same non-nil type.
Another use case is concurrency: When the method reads the ivar, it may have a different value than what was passed to the method call when it was assigned from a different fiber in the mean time.