Don't call __str__ directly