def join_nums_and_pairs(verses, joiner=', '):
    """
    Given an array of ints and int pairs, return a single string
    of individual verse numbers and verse ranges: [3,5,(7,10)] --> "3, 5, 7-10".
    """
    return joiner.join([str(x) if isinstance(x, int) else '%d-%d' % x for x in verses])