fn get(&self, index: usize) -> bool;
fn get_range<T>(&self, range: Range<usize>) -> T;
fn set(&mut self, index: usize, value: bool) -> &mut Self;
fn set_range<T>(&mut self, range: Range<usize>, value: T) -> &mut Self;
fn or_range<T>(&mut self, range: Range<usize>, value: T) -> &mut Self;
fn and_range<T>(&mut self, range: Range<usize>, value: T) -> &mut Self;
fn xor_range<T>(&mut self, range: Range<usize>, value: T) -> &mut Self;
Return value can modified to Result<&mut Self, Error> for none panic.
Return value can modified to Result<&mut Self, Error> for none panic.