from typing import List


def append_strings(exprs: List[str]) -> str:
    """
    Generate the concatenation of the given C++ expressions.

    The expressions are concatenated *via* ``std::string::append``.

    :param exprs: C++ expressensions representing the individual parts
    :return: generated C++ expression

    >>> print(append_strings(['ref']))
    ref

    >>> print(append_strings(['ref', '"/some_property"']))
    std::string(ref)
        .append("/some_property")

    """
    if len(exprs) == 1:
        return exprs[0]

    parts = ['std::string({})'.format(exprs[0])]
    for ref_part in exprs[1:]:
        # yapf: disable
        parts.append('\n    .append({})'.format(ref_part))

    return ''.join(parts)