Currently I experiment with the GitHub API, and I noticed the following: if you request an issue, it has both an assignee and a set of assignees - with the same properties as the user above. This feature was introduced a year ago, as it seems.
While I see the reason for having assignees, I don't understand why to have both properties, especially if, in the case of having assignees set, the first one will always be the assignee. Why isn't the set of assignees enough to store the information? One thing I can imagine is keeping assignee for legacy reasons, but what other explanation can be?
Here is a good example, right on the official GitHub page. As you can see, assignee is octocat, and after calling the POST /repos/:owner/:repo/issues/:number/assignees
, the assignees will be octocat and the two new users.