pub use crate::category::{CircuitArrow, CircuitCat, LevelEdge, LevelKind, TensorObj, TreeGraph, TreeMorphism, UnitShape, interpret_tree};
pub use crate::error::CsaError;
pub use crate::reducer::{LevelDescriptor, build_level_arrow, compile_tree, tree_reduce};
pub use crate::shape::Shape;
pub use crate::tree::{build_full_path, compressor_tree, next_bundles, sum_terms_passthrough, tree_level_edge};
pub use crate::width::{ceil_log2, csa_out_width};
#[cfg(feature = "hdl-cat-gates")]
pub use crate::gates::{full_adder, csa_3to2};
#[cfg(feature = "hdl-cat-gates")]
pub use crate::lower::{Lowered, lower};
#[cfg(feature = "hdl-cat-gates")]
pub use crate::pipeline::RegisteredCompressor;