Design the class hierarchy and object model for a library management system that handles books, members, loans, and reservations.
Identify and design the core entities and value objects. Define Book, BookCopy, Member, Loan, and Reservation as classes. Clarify which are entities (have identity) vs value objects (defined by their values). Specify key attributes and types.