pub trait Column<F: FftField> {
    // Required methods
    fn domain(&self) -> GeneralEvaluationDomain<F>;
    fn domain_4x(&self) -> GeneralEvaluationDomain<F>;
    fn as_poly(&self) -> &DensePolynomial<F>;
    // Provided methods
    fn size(&self) -> usize { ... }
    fn evaluate(&self, z: &F) -> F { ... }
}