title: Does graphql support non-nullable optional field?
body: <p>I am using graphql as the interface. When design the schema I can't find a way to support non-nullable optional fields. For example:</p>
  <pre><code>mutation {
    createUser (firstName: String!, lastName: String!, middleName: String): Void
  }
  </code></pre>
  <p>for above mutation, I'd like to make the <code>middlename</code> as optional but also don't accept <code>null</code> value. Is it possible to do in graphql?</p>