code: func validateSpOrConcat(sp *common.SignaturePolicy) error {
  	if sp.GetNOutOf() == nil {
  		return nil
  	}
  	// check if N == 1 (OR concatenation)
  	if sp.GetNOutOf().N != 1 {
  		return errors.New(fmt.Sprintf("signature policy is not an OR concatenation, NOutOf %d", sp.GetNOutOf().N))
  	}
  	// recurse into all sub-rules
  	for _, rule := range sp.GetNOutOf().Rules {
  		err := validateSpOrConcat(rule)
  		if err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // validateSpOrConcat checks if the supplied signature policy is just an OR-concatenation of identities