Expand the selectMany for clarity
Move some variable definitions around for clarity. Temporarily use <= to determine if we should traverse a reference path.
setPaths should return the path value, or the error, instead of a boolean
Working out data-source and its relationship with PQL.