def METHOD_NAME(
    generators: List[MagneticOperation],
) -> List[MagneticOperation]:
    """
    Generate all coset operations
    """
    coset = set()
    que = Queue()  # type: ignore
    identity = MagneticOperation.identity()
    que.put(identity)
    while not que.empty():
        g = que.get()
        if g in coset:
            continue
        coset.add(g)
        for h in generators:
            # Take modulus by translation subgroup
            gh = remainder1_symmetry_operation(g * h)
            que.put(gh)
    # Put identity in the first
    coset.remove(identity)
    ret = [identity] + list(coset)  # type: ignore
    return ret