There should also be a test for what happens when I do:
```python
b1 = BoundLogger(msg, err)
b2 = b1.bind(a=1)
b3 = b2.bind(b=2)
b4 = b2.bind(b=2)
self.assertEqual(b3, b4)
```

because nesting may be hard to get right in the implementation :)