pub trait Layer {
type Data;
type Error;
// Required methods
fn get(
&self,
map: &mut Map,
point: CoordPair,
) -> Result<Self::Data, Self::Error>;
fn set(
&self,
map: &mut Map,
point: CoordPair,
value: Self::Data,
) -> Result<(), Self::Error>;
}