If this is moving into rust proper, should `Shrinker` be removed in favor of making `Box<Iterator<A>>` implement `Iterator<A>`?