technically you'd say query(X).join(X.all_A.as_type(C)) but I don't know
offhand if that use case has been implemented for join() as of yet. you
can of course just say query(X).join((A, A.id==x.aid), (C, C.id==A.id))
assuming you're on joined table inheritance. all bets are off for
concrete.
query(X).join(X.all_A.of_type(C)) works but produces a subselect
(select all-them-columns ...) which is huge/hard to read.
i found that query(X).filter( X.all_A.of_type(C).any()) works too, and
the subselect is shorter (select 1 ...).
hmm, might be useful to somehow differ between a join that