Items resolve null → error propagates and entire list becomes null
[T]
Null items kept as nulls in the array
4. Combining Modifiers
Recommended
Why
[T!]!
Most restrictive; clearest contract
[T!]
List itself optional (no permission, etc.)
[T]
Avoid — ambiguous nulls everywhere
5. Understanding Nullability Rules
Resolver returns null on Non-Null field
│
▼
Field result becomes error
│
▼
Propagates UP to nearest nullable ancestor
│
▼
That ancestor becomes null; siblings preserved
6. Returning Empty Lists
Return
Semantics
[]
"No items found"
null
"List unavailable / not applicable" (only on nullable list)
Note: Prefer empty array over null for collections — clients can iterate without null checks.