<s>[INST] # Generic fallback for undefined methods in Python

I often need to handle methods that may or may not be defined for a given object. Here's the basic pattern I use:

```python
def maybe_make_sound(animal):
    sound_method = getattr(animal, 'make_sound', None)
    if sound_method is not None and callable(sound_method):
        sound_method()
    # else:  # do nothing
```

I'd like to generalize this pattern to apply to any method name and object, so that I can simply do something like: `maybe_call(animal, 'make_sound')`. 

How would you implement `maybe_call`?[/INST]