There is a checksum so it should be possible to verify if one of the addresses has a typo. I'm also wondering why the pool doesn't check if the address is valid before authorizing.
Two reasons: Verifying if a string is a correct bitcoin address is somewhat expensive and it's not a good idea to do it in real-time when a new connection appears. It would create a bad experience for users. You would get disconnected and maybe didn't even know why so could think that the pool is not working or not reliable. I rename mistaken usernames on users request fairly quickly so I think it's better this way.
Thank you, that makes sense.