##### SUMMARY

There are several options for resolving this:

* Vendoring a second copy of `six` that implements `find_spec` and `exec_module`, and using it for newer Pythons.
* Vendoring the latest version of `six` and updating it as needed to work back through Python 2.6.

See also: https://github.com/ansible/ansible/issues/72952

##### ISSUE TYPE

Feature Idea

##### COMPONENT NAME

lib/ansible/module_utils/six/__init__.py
return it.next()
next = advance_iterator
try:
    callable = callable
except NameError:
    def callable(obj):
        return any("__call__" in klass.__dict__ for klass in type(obj).__mro__)
if PY3:
    def get_unbound_function(unbound):
        return unbound
    create_bound_method = types.MethodType
    def create_unbound_method(func, cls):
        return func
    Iterator = object
else:
    def get_unbound_function(unbound):
        return unbound.im_func
    def create_bound_method(func, obj):
        return types.MethodType(func, obj, obj.__class__)
    def create_unbound_method(func, cls):
        return types.MethodType(func, None, cls)
    class Iterator(object):