There are others types of access besides role, so there's no way to guarantee the result. The goal of the module is to view the page as a specific user. I manage a site that doesn't use only roles for access, so if masquerading was by role, it would not work.