I think users will expect that using indices will be *faster* than functions.  I would prefer that we do:
```python
    if not callable(key):
        if isinstance(key, list):
            key = operator.itemgetter(*key)
        else:
            key = operator.itemgetter(key)
```
This is equivalent to `partial(get, key)` (since we don't specify a default).  Feel free to use a ternary statement instead of `if-else` if you prefer.