I "fixed" the duplicate id issue by leaving the sharding of data within a wide id range to the getIdAtCounter function... which works for generating large amounts of deterministic fake data but still doesn't quite do what it advertises. So I wouldn't rely on this for generating strictly "correct" sharded data, but it does generate verifiable fake data so I'm going to go with it.