def _group_tuples(inputs):
    """Helper that groups a `list` of `tuple`s based on the elements at index 0.

    Given a `list` of `tuple`s, return a `dict` mapping from every unique first
    element in the list to the lists containing the rest of the elements.
    Example:
        [(a,2,3),(b,1,1),(b,1,2),(a,1,1)] -> {a:[(2,3),(1,1)], b:[(1,1),(1,2)]}

    Args:
        input: Python `list` of tuples to group.

    Returns:
        Python `dict` containing groups.
    """
    groups = {}
    for item in inputs:
        current_groups = groups.get(item[0], [])
        current_groups.append(item[1:])
        groups[item[0]] = current_groups
    return groups
