So long as `extra_context` is a dict, list/tuple of two-tuples, or some sort of object that acts like a dict, the `update` will work correctly. It'd be nice to not have to check for a specific type.

Maybe do the `kwargs.update(self.get_extra_context())` in a `try` that catches `TypeError`?

```python
>>> d = {}
>>> d.update([1, 2, 3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot convert dictionary update sequence element #0 to a sequence
```