Theoretically not, but I've seen cases in the past where the DB got corrupted and app crashed in those places where the code expected one result but received multiple. This kind of problem can be solved with an aspect (see AOP - "implementable" with signals I guess) which globally treats this kind of exceptions. It's not worth the effort, especially because get() is implemented using filter() <=> no performance penalty. Therefore I prefer to be defensive with this kind of errors.