Fundamentally, a Collection, Want list, and Read list are all the same species of lists as you’d want to be able to construct for a Bookshelf. They’re just fixed types with given names - they’d have all of the same properties and all the same uses to be put to. Likewise, anything you’d want to do with a Bookshelf, you’d also want to be able to do with the Collection, Wantlist, Read list.
I’d want to make one for an Unwanted list - I have loads of spares of books, comics, etc, that I don’t really want, but need to document condition aspects, location, etc.
Essentially, you’d really only be looking to construct the one List structure, and just allow multiple instances per user, each with their own configuration settings.