No bug, just a nice-to-have feature request: persistency. It would be useful to have something like $internal_state = $p->freeze; # get internal state / serialize ... $p->thaw( $internal_state ); # set internal state / de-serialize or $p = new Algorithm::Permute( init => \$internal_state ); ... This would allow to break e.g. scanning of huge sets into several runs. Thanks.