Empty value types will be unexpectedly omitted with `json:"omitempty"` tag. The convention here is to use pointer types for optional fields. Seems that no existing linters could do that. Is it OK to add a custom linter here to check usage like that? https://github.com/google/go-github/blob/d09e464e63068e84183ebf865f5184b62bda2f2a/github/issues_events.go#L22 I only found one place avoiding the role, although the type is a returned type and is rarely marshaled. But it will be helpful to check incoming PRs.