Thanks for taking the time to expand on your ideas, Roman Zaiev . Now I see your architectural approach much better. I think the key difference between our views comes down to what we consider the main responsibility of the persistence layer. You focus strongly on transparency and control, and for Hypha it clearly works well. I get that. For me, ORM’s biggest value isn’t query abstraction, but maintaining long-term consistency between the domain model, schema and business rules, without re-implementing that logic manually in every repository or factory. That’s why I still think ORM is often the more efficient choice, especially in systems that evolve quickly or involve many contributors. It prevents rebuilding a lot of what ORM already provides out of the box (migrations, typing, constraints, semantic exceptions, domain-level validation). But if the raw SQL + factories approach keeps Hypha simpler and more predictable, that’s awesome. Different contexts, different trade-offs. 👌 Great discussion, appreciate the exchange of perspectives! 👍