Bug in ModifiedResult where it handles the List modifier. If values.size() == 0 it doesn't emplace it. Relay seems to not like specifying empty selection sets in the compiled GraphQL, but for the sake of completeness it should probably do the same thing in Object::resolve when data.size() == 0. If all of the specified members are removed due to field errors we could still return an empty {} object and that would at least indicate that the object exists.