<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def bipartition(seq):
 """Return a list of bipartitions for a sequence. Args: a (Iterable):
 The sequence to partition. Returns: list[tuple[tuple]]: A list of tuples containing each of the two partitions. Example: [((), (1, 2, 3)), ((1,), (2, 3)), ((2,), (1, 3)), ((1, 2), (3,))] """

    return [(tuple(seq[i] for i in part0_idx),
             tuple(seq[j] for j in part1_idx))
            for part0_idx, part1_idx in bipartition_indices(len(seq))]