def select_version(cls, version):
    """Select closest compatible version to requested version

    Compatible is defined as ``class_version <= requested_version``
    as defined by the types used to denote the versions.

    Parameters
    ----------
    cls : type
        The base class to find a version of

    version : any
        Must be the same type as used to define the class versions.

    """
    all_versions = cls._class_info_['versions']
    matched_version = max(ver for ver in all_versions if ver <= version)
    return all_versions[matched_version]