def iterate_cell(merged_cell):
    """Takes a cell and sum of neighbours and returns True/False if the cell is
    alive/dead. """
    cell = bool(merged_cell & 16)
    sum_of_neighbours = merged_cell - 16 if cell else merged_cell

    if 2 <= sum_of_neighbours <= 3 and cell:
        # if between 2 and 3 nbrs, keep alive
        return True
    elif not cell and sum_of_neighbours == 3:
        # else if 3 nbrs, make alive
        return True
    elif sum_of_neighbours < 2:
        # Else, if lonely, kill
        return False
    elif sum_of_neighbours > 3:
        # Else, if overpopulated, kill
        return False
    else:
        # No reason to keep alive
        return False