Because django does is and I tried to comply with their API as closely as possible.

https://github.com/django/django/blob/master/django/contrib/auth/views.py#L92