Github user ottobackwards commented on the issue:
It may be overkill, that is true. But if you have to keep adding new
functions to account for different scenarios that isn't great either and may
suggest something like that would be good to have. Having a context or resolver
for this type of thing isn't that radical. Having a context sets the interface,
that is true, but the implementation can be any kind of
policy/strategy/composition you may require.
That being said, just a thought anyways.