Bulletproof persistent collection types for Python