eval only has direct access to the local scope when accessed through the name eval. This includes locals named eval, because of course it does.