Looking at this closer, you're absolutely right that commit author should be a separate type.  This does not necessarily represent a GitHub user, so using the existing User type is not accurate.  Plus, sticking the date in to User doesn't make any sense.  So go with what you have here and just ignore my previous comment :)