##### 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
except ImportError:
        def import_module(name):
            __import__(name)
            return sys.modules[name]
    try:
        
        from StringIO import StringIO
    except ImportError:
        from io import StringIO
    if collection_full_name:
        
        from ansible.module_utils.common.text.converters import to_bytes, to_text, to_native, text_type
        from ansible.utils.collection_loader._collection_finder import _AnsibleCollectionFinder
        from ansible.utils.collection_loader import _collection_finder
        yaml_to_json_path = os.path.join(os.path.dirname(__file__), 'yaml_to_json.py')
        yaml_to_dict_cache = {}
        
        iso_date_marker = 'isodate:f23983df-f3df-453c-9904-bcd08af468cc:'
        iso_date_re = re.compile('^%s([0-9]{4})-([0-9]{2})-([0-9]{2})$' % iso_date_marker)
        def parse_value(value):
            """Custom value parser for JSON deserialization that recognizes our internal ISO date format."""
            if isinstance(value, text_type):
                match = iso_date_re.search(value)
                if match:
                    value = datetime.date(int(match.group(1)), int(match.group(2)), int(match.group(3)))
            return value
        def object_hook(data):
            """Object hook for custom ISO date deserialization from JSON."""
            return dict((key, parse_value(value)) for key, value in data.items())
        def yaml_to_dict(yaml, content_id):