pub trait Measure {
fn measure(&mut self, addr0: usize) -> bool;
}
pub trait LossyMeasure {
fn measure(&mut self, addr0: usize) -> Option<bool>;
fn measure_many(&mut self, targets: &[usize]) -> Vec<Option<bool>> {
targets.iter().map(|&q| self.measure(q)).collect()
}
}