def new_incremented_param_name(basename, currnames, start=1):
    """
    Generate new integer incremented version of the parameter name defined by
    `basename` based on a list of current names in `currnames`.

    :param basename:    base name to increment
    :type basename:     :py:str
    :param currnames:   currently defined names
    :type currnames:    :py:list
    :param start:       integer start
    :type start:        :py:int

    :return:            incremented parameter name
    :rtype:             :py:str
    """

    name = None
    while True:
        name = '{0}{1}'.format(basename, start)
        if name not in currnames:
            break
        start += 1

    return name