If it can be made generic enough, it could also live in ``BaseQuery``.