I'm puzzled by code like
if (NSurveyUser.Identity.IsAdmin || NSurveyUser.HasRight(right))
why isn't that first line `NSurveyUser.HasRight("admin")`? Is there some distinction I don't see or is it just historical?