I was wondering why the `spec` list doesn't include headers here, and it looks like all keyword arguments are included in the spec regardless of their existence in the `spec` list.

So I guess `mock.Mock(spec=[], code=500, headers=None)` and `mock.Mock(spec=['code', 'headers'], code=500, headers=None)` are equivalent to the above.  Maybe one of them is clearer though?