@amaster507 I think your understanding is close, but [ID!] is not about emptiness of the array but the nullability of the elements of that array. Same for fields, actually…
type Foo { bar: String! }
Means you can expect a Foo
to always have a String
value for bar
.
type Foo { bar: String }
Means it might be a String
, or null