diff --git a/Cargo.toml b/Cargo.toml
index c742d11..ab23393 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -26,7 +26,9 @@ ringbuffer = ["array-ops"]
[dependencies]
typenum = "1.11.2"
-bitmaps = "2.0.0"
+#bitmaps = "2.0.0"
+# TODO: Remove before merging, once bitmaps gets released (and bump version then)
+bitmaps = { version = "2.0.0", git = "https://github.com/vorner/bitmaps", branch = "iter-traits" }
array-ops = { version = "0.1", optional = true }
refpool = { version = "0.4", optional = true }
arbitrary = { version = "0.4", optional = true }
diff --git a/src/ring_buffer/iter.rs b/src/ring_buffer/iter.rs
index aa8d06b..9559415 100644
--- a/src/ring_buffer/iter.rs
+++ b/src/ring_buffer/iter.rs
@@ -11,6 +11,7 @@ use super::{index::RawIndex, RingBuffer};
use array_ops::HasLength;
/// A reference iterator over a `RingBuffer`.
+#[derive(Clone)]
pub struct Iter<'a, A, N>
where
N: ChunkLength,
diff --git a/src/sparse_chunk/iter.rs b/src/sparse_chunk/iter.rs
index 460096c..1c7399f 100644
--- a/src/sparse_chunk/iter.rs
+++ b/src/sparse_chunk/iter.rs
@@ -4,6 +4,7 @@ use super::SparseChunk;
use crate::types::ChunkLength;
/// An iterator over references to the elements of a `SparseChunk`.
+#[derive(Debug, Clone)]
pub struct Iter<'a, A, N: Bits + ChunkLength> {
pub(crate) indices: BitmapIter<'a, N>,
pub(crate) chunk: &'a SparseChunk,