### Summary

I'm seeing some breakage in collections caused (very likely) by #73703:
1. `AttributeError: 'AnsibleModule' object has no attribute '_check_type_dict'` (community.general, infoblox.nios_modules);
2. `ImportError: cannot import name 'handle_aliases'` (from `ansible.module_utils.common.parameters`) (community.crypto, community.sops).

While 1. could be considered 'own fault' because it is a private API, 2. looks like a bug, since that's a break in a public interface.

### Issue Type

Bug Report

### Component Name

core

### Ansible Version

devel

### Configuration

.

### OS / Environment

.

### Steps to Reproduce

.

### Expected Results

.

### Actual Results

.
"""Validate that parameter types match the type in the argument spec.
    Determine the appropriate type checker function and run each
    parameter value through that function. All error messages from type checker
    functions are returned. If any parameter fails to validate, it will not
    be in the returned parameters.
    :param argument_spec: Argument spec
    :type argument_spec: dict
    :param parameters: Parameters
    :type parameters: dict
    :param prefix: Name of the parent key that contains the spec. Used in the error message
    :type prefix: str
    :param options_context: List of contexts?
    :type options_context: list
    :returns: Two item tuple containing validated and coerced parameters
              and a list of any errors that were encountered.
    :rtype: tuple
    """
    if errors is None:
        errors = AnsibleValidationErrorMultiple()
    for param, spec in argument_spec.items():
        if param not in parameters:
            continue
        value = parameters[param]
        if value is None: