split aggregates from association reflections to avoid is_a checks later