from typing import List


def contains_all_substrings(haystack: str, needles: List[str]) -> bool:
    """
    Determine if the string `haystack` contains each of the
    strings in `needles` as substrings.

    We use this method to check the correctness of the full
    server argument string construction because we don't want
    to bake-in any guarantees regarding the order in which
    arguments are processed, because correctness does not
    ultimately depend on the ordering.

    :param haystack The full query string
    :param needles A list of substrings for which to search
    :return `True` if `haystack` contains all of the strings
    provided in `needles` as substrings, `False` otherwise
    (note that all([]) returns `True` (vacuously true))
    """
    return all(needle in haystack for needle in needles)