In the future, I think we could plausibly get away with making this a parametric type that can match any kind of AbstractDataFrame.