def unbind_vars(transition, start=0):
    """
    Suffix varnames in transition with locally-unique numbers so that Golly
    doesn't bind the identical names
    """
    ret, seen = [], {}
    for state in transition:
        if isinstance(state, int) or state.isdigit():
            ret.append(state)
        else:
            seen[state] = cur = seen.get(state, -1) + 1
            ret.append('{}_{}'.format(state, cur))
    return ret
