def prop_tabulate(prop_list, value_list):
    """
    Turns a list of properties and corresponding list of values into
    a pretty string with one `prop: value` pair each line,
    padded so that the colons in each line are lined up.
    Handles empty props by using an extra couple of spaces instead of a `:`.

    Parameters
    ----------
    prop_list: List(str)
        List of short names to put on the right side of the list.
        Empty props are considered to be "newlines" for the corresponding value.
    value_list: List(str)
        List of values corresponding to the properties above.

    Returns: str
    """
    max_len = max(len(prop) for prop in prop_list)
    return "\n".join(["`{}{}{}`\t{}".format("​ " * (max_len - len(prop)),
                                            prop,
                                            ":" if len(prop) > 1 else "​ " * 2,
                                            value_list[i]) for i, prop in enumerate(prop_list)])