code: func NewPermissionAtID(id ID, a Action, r Resource) (*Permission, error) {
  	p := &Permission{
  		Action:   a,
  		Resource: r,
  		ID:       &id,
  	}
  
  	return p, p.Valid()
  }
docs: // NewPermissionAtID creates a permission with the provided arguments.