pub type RowAgent<T, R> = TraceAgent<Spine<Rc<OrdKeyBatch<RowLayout<((Row, ()), T, R)>>>, ColumnatedMergeBatcher<Row, (), T, R>, RcBuilder<OrdKeyBuilder<RowLayout<((Row, ()), T, R)>>>>>;
struct RowAgent<T, R> {
trace: Rc<RefCell<TraceBox<Spine<Rc<OrdKeyBatch<RowLayout<((Row, ()), T, R)>>>, ColumnatedMergeBatcher<Row, (), T, R>, RcBuilder<OrdKeyBuilder<RowLayout<((Row, ()), T, R)>>>>>>>,
queues: Weak<RefCell<Vec<Weak<(Activator, RefCell<VecDeque<TraceReplayInstruction<Spine<Rc<OrdKeyBatch<RowLayout<((Row, ()), T, R)>>>, ColumnatedMergeBatcher<Row, (), T, R>, RcBuilder<OrdKeyBuilder<RowLayout<((Row, ()), T, R)>>>>>>>)>>>>,
logical_compaction: Antichain<<Spine<Rc<OrdKeyBatch<RowLayout<((Row, ()), T, R)>>>, ColumnatedMergeBatcher<Row, (), T, R>, RcBuilder<OrdKeyBuilder<RowLayout<((Row, ()), T, R)>>>> as TraceReader>::Time>,
physical_compaction: Antichain<<Spine<Rc<OrdKeyBatch<RowLayout<((Row, ()), T, R)>>>, ColumnatedMergeBatcher<Row, (), T, R>, RcBuilder<OrdKeyBuilder<RowLayout<((Row, ()), T, R)>>>> as TraceReader>::Time>,
temp_antichain: Antichain<<Spine<Rc<OrdKeyBatch<RowLayout<((Row, ()), T, R)>>>, ColumnatedMergeBatcher<Row, (), T, R>, RcBuilder<OrdKeyBuilder<RowLayout<((Row, ()), T, R)>>>> as TraceReader>::Time>,
operator: OperatorInfo,
logging: Option<Logger<DifferentialEvent, usize>>,
}