Your PR is original afaik, interesting one.
The idea of creating a shard only when you couldn't find a previous one on relays does would stop a client from inadvertently resetting a list.
I couldn't find directions on preventing a said event kind from multiplying too much. I guess if a client retrieves many shards, the best thing it can do is to merge them into one.