title: GraphQL: How to reuse same type for query and mutation?
body: <p>Let's say I have a query defined liked this:</p>
  
  <pre><code>type Query {
    # The basic me query
    getUser(id:Int): [User]
  }
  
  type User {
    id: ID!
    login: String!
    name: String    
  }
  </code></pre>
  
  <p>But now I need to have a mutation to add a user. My intuition would be to to something like this:</p>
  
  <pre><code>type Mutation {  
    addUser(newUser: User): [User]
  }
  </code></pre>
  
  <p>But it is not working because a mutation cannot use "query type". It need to use "input type". I know that in this example, it is not really complicated to do, but if user was a really complex type with many sub-type used. How can I do that?
  Is there a was to re-use a type as a mutation argument?</p>