just for kicks should we `assert currentGen >= 0;`