fn read_span( source: &dyn ByteSource, object: ObjectId, offset: u64, length: u64, ) -> Result<Vec<u8>>