pub trait SequenceStorage {
type Buffer: SequenceBuffer;
// Required methods
fn get_buffer(&self) -> Self::Buffer;
fn fill_buffer(&self, target_index: u32, buffer: &mut Self::Buffer);
fn num_targets(&self) -> u32;
// Provided method
fn get_concatenated_sequence_with_boundaries_of_targets(
&self,
) -> (Vec<u8>, Vec<u32>) { ... }
}