code: func (pl PolicyList) Authorize(a authorizer.Attributes) (authorizer.Decision, string, error) {
  	for _, p := range pl {
  		if matches(*p, a) {
  			return authorizer.DecisionAllow, "", nil
  		}
  	}
  	return authorizer.DecisionNoOpinion, "No policy matched.", nil
  	// TODO: Benchmark how much time policy matching takes with a medium size
  	// policy file, compared to other steps such as encoding/decoding.
  	// Then, add Caching only if needed.
  }
docs: // Authorize implements authorizer.Authorize