pub trait Collector<T> {
type Error: Error;
// Required methods
fn add_region(
&mut self,
center: CoordPair,
data: &T,
) -> Result<(), Self::Error>;
fn add_point(
&mut self,
region: usize,
point: CoordPair,
) -> Result<(), Self::Error>;
}