Shared strict parser for every OAuth scope-bearing boundary.
Scope members are case-sensitive ASCII scope-token values. Parsed sets are duplicate-free, bounded to 64 members, and serialize deterministically by original byte order sorting.
scope-token
@type scope_set() :: MapSet.t(binary())
@spec parse_list( term(), keyword() ) :: {:ok, scope_set()} | {:error, :invalid_scope}
@spec parse_string(term()) :: {:ok, scope_set()} | {:error, :invalid_scope}
@spec serialize(scope_set()) :: {:ok, binary()} | {:error, :invalid_scope}
@spec subset?(scope_set(), scope_set()) :: boolean()
@spec valid_token?(term()) :: boolean()