### 🤔 Problem Description The current naming of agent set classes is confusing for new users: * `AgentSetDF` is actually an **abstract class**, but its name suggests it is concrete. * `AgentSetPolars` is the **concrete implementation**, but its name suggests a backend-specific detail rather than the default user-facing API. * Similarly, `AgentContainer` is an abstract base but does not indicate this in its name. This inconsistency makes it harder for users (especially newcomers) to understand the intended API. ### 💡 Proposed Solution * Rename `AgentSetDF` → `AbstractAgentSetDF` * Rename `AgentSetPolars` → `AgentSetDF` * Optionally Rename `AgentContainer` → `AbstractAgentContainer` for consistency This way, abstract vs. concrete roles are explicit and easier to follow. ### 🔄 Alternatives Considered _No response_ ### ➕ Additional Context * This will be a **breaking change** since imports will need updating. * We should implement this **before publishing `0.1.0` stable**, to avoid renaming pain for users later.