code: def is_in_scope(cls, want_scope: str, have_scopes: List[Scope]) -> bool:
          
          if not want_scope:
              return True
          if want_scope in have_scopes or want_scope.split(':')[0] in have_scopes:
              return True
          elif want_scope.startswith('read'):
              return cls.is_in_scope(want_scope.replace('read', 'write'), have_scopes)
          elif want_scope.startswith('write'):
              return cls.is_in_scope(want_scope.replace('write', 'admin'), have_scopes)
          else:
              return False
docs: Return True if wanted scope is in list of scopes or derived scopes.
  
          :param want_scope: scope wanted for permission to do something (str because could be invalid scope)
          :param have_scopes: list of valid scopes that user has been assigned