type Audiences … type key … const audiencesKey … // WithAudiences returns a context that stores a request's expected audiences. func WithAudiences(ctx context.Context, auds Audiences) context.Context { … } // AudiencesFrom returns a request's expected audiences stored in the request context. func AudiencesFrom(ctx context.Context) (Audiences, bool) { … } // Has checks if Audiences contains a specific audiences. func (a Audiences) Has(taud string) bool { … } // Intersect intersects Audiences with a target Audiences and returns all // elements in both. func (a Audiences) Intersect(tauds Audiences) Audiences { … }