Good point. However, my initial thought was that `TypeError` is what you get if you call a function with the wrong arguments:

```python
>>> def foo(value):
...     pass
...
>>>
>>> foo(something='else')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: foo() got an unexpected keyword argument 'something'
```

What do you think about creating a custom error exception class like `RequiredKeywordArgumentError` or something?