@_generative()
def correlate(self, *args):
    'Return a :class:`.Query` construct which will correlate the given\n        FROM clauses to that of an enclosing :class:`.Query` or\n        :func:`~.expression.select`.\n\n        The method here accepts mapped classes, :func:`.aliased` constructs,\n        and :func:`.mapper` constructs as arguments, which are resolved into\n        expression constructs, in addition to appropriate expression\n        constructs.\n\n        The correlation arguments are ultimately passed to\n        :meth:`.Select.correlate` after coercion to expression constructs.\n\n        The correlation arguments take effect in such cases\n        as when :meth:`.Query.from_self` is used, or when\n        a subquery as returned by :meth:`.Query.subquery` is\n        embedded in another :func:`~.expression.select` construct.\n\n         '
    self._correlate = self._correlate.union(((_interpret_as_from(s) if (s is not None) else None) for s in args))
Return a :class:`.Query` construct which will correlate the given
FROM clauses to that of an enclosing :class:`.Query` or
:func:`~.expression.select`.

The method here accepts mapped classes, :func:`.aliased` constructs,
and :func:`.mapper` constructs as arguments, which are resolved into
expression constructs, in addition to appropriate expression
constructs.

The correlation arguments are ultimately passed to
:meth:`.Select.correlate` after coercion to expression constructs.

The correlation arguments take effect in such cases
as when :meth:`.Query.from_self` is used, or when
a subquery as returned by :meth:`.Query.subquery` is
embedded in another :func:`~.expression.select` construct.
@_generative()
def correlate(self, *args):
    'Return a :class:`.Query` construct which will correlate the given\n        FROM clauses to that of an enclosing :class:`.Query` or\n        :func:`~.expression.select`.\n\n        The method here accepts mapped classes, :func:`.aliased` constructs,\n        and :func:`.mapper` constructs as arguments, which are resolved into\n        expression constructs, in addition to appropriate expression\n        constructs.\n\n        The correlation arguments are ultimately passed to\n        :meth:`.Select.correlate` after coercion to expression constructs.\n\n        The correlation arguments take effect in such cases\n        as when :meth:`.Query.from_self` is used, or when\n        a subquery as returned by :meth:`.Query.subquery` is\n        embedded in another :func:`~.expression.select` construct.\n\n         '
    self._correlate = self._correlate.union(((_interpret_as_from(s) if (s is not None) else None) for s in args))