from typing import Iterable
from typing import Container
from typing import List


def ordered_intersect(a: Iterable, b: Container) -> List:
    """Returns a list of the intersection of `a` and `b`, in the order
    elements appear in `a`.

    Parameters
    ----------
    a: iterable
        Iterable with the order of elements.
    b: container
        Container to test inclusion of elements in `a`.

    Returns
    -------
    list
        The resulting elements, in order.
    """
    return [x for x in a if x in b]