def _bom_free_version(encoding: str) -> str:
    """ Given an utf encoding, returns a BOM-free version of it (little-endian version) """

    def utf_aliases(num):
        return {fmt % num for fmt in ['u%d', 'utf%d', 'utf-%d', 'utf_%d']}

    encoding = encoding.lower()
    if encoding in utf_aliases(16):
        return 'utf_16_le'
    if encoding in utf_aliases(32):
        return 'utf_32_le'
    return encoding