get
The value of the projected field name, or null where the document does not have it.
The value of the projected field at index, in the order the projection names them.
The branch is on which source filled this row, not on whether a value happens to be there. A null in values means the document has no value at that path — an answer, not a miss — and falling through to source for it would be right only because a column-backed row has no source, which is the kind of accident that becomes a bug the moment one of them gains both.