def input_with_default(prompt, default=None):
    """
    Prompts for a text answer with an optional default choice.

    :param prompt: question to be displayed to user
    :param default: default choice
    :return: user-provided answer or None, if default not provided.
    :rtype: Union[str,None]
    """
    value = input(f'{prompt} ({default}):')
    if value:
        return str(value)

    return str(default)