Why does the findByFields() and other functions provided by "this" return a union of the `(TData, undefined, and null)[]`? Why not just TData[]? 